XCode中使用SVN 教程

修改subversion.config方法:

能夠直接在終端上輸入:vi ~/.subversion/config來編輯.php

也能夠經過Finder搜索.subversion,點擊下邊的+號,進入高級搜索界面,找到各種->其餘-> 文件可見性 ,選擇不可見文件便可搜索到.subversion文件夾.html

隱藏文件文件名是  .subversionlinux

 

mac下怎麼保存終端下更改的項目(^O WriteOut)ios

 

 

As newly anointed Xcode developers, and now with the release of Xcode 4. We found our team working on trying to get connected to a new subversion (svn) server at the same time we were trying to discover some new features of Xcode 4.程序員

 

about challenging.web

Actually this was the first time with anything Apple we have not had a great experience. Loads of talk etc on the net about what a pain in the bum it all is.vim

For those who don’t know. Subversion is a code storage system that allows check in / check out of developer Xcode to a server. There are services online that you can pay monthly to for the use of a SVN server. We wanted to host it on one of our own servers.xcode

The setup was not easy and required the setup of a new Linux server, then the setup of the SVN code to turn it into an SVN server.瀏覽器

What became confusing was when we needed to get Xcode to talk to the darn thing. Here is the important things you need to know.安全

First Contact

 

Just like the movie from when I was a kid, 「First encounter」  is a big deal! Big enough to heap your mashed potato into a big mountain!

1. Open Xcode and select Window / Organiser.

2. Select Repositories

3. Bottom left, click the +

4. Add the details of the SVN server. Like this: svn://www.servername.com/directory (this should be the details for your SVN Server).

5. Where asked for Trunk Branches and Tags (leave empty for now).

 

Now we nee to use the 「Terminal」 program to make a connection to SVN.

1. Create a test.txt file with some simple message in it. Save it in your documents folder on your mac.

2. Open Terminal

3. Type 「svn import /Users/yourname/Documnets/test.txt svn://www.servername.com/directory -m「initial import」 –username yourname

Note:

the path 「/Users/yourname/Documnets/test.txt」 should be a path to any single dummy test.txt file. The idea is that we are uploading a single file to establish a connection.

The: svn://www.servername.com/directory is the path to your SVN server

「initial import」 is only a tag line. Not needed

–username yourname = This is your SVN user name. Ensure you use a double dash –username.

EG: our code looks like this:

svn import /Users/spascoe/Documents/Temp/test.txt  svn://www.interactivewebs.com/interactivewebs -m 「test import」

4. You will be prompted with your existing user for your user password. At this point, if your mac user name does not match the configured SVN user name. Just hit enter. It will then prompt of a user. Type the new SVN user name, then enter. Then the configured SVN pass and enter.

5. You will likely see something that says. 「svn://www.servername.com/directory already exists」 – Ignore that!

6. Close Xcode

7. Open Xcode again and return to the Optimizer / Repositories and with luck, your server will list on the left hand side, and show the ROOT and any folders on the SVN server.

8. Click back on the server name in the left hand column.

9. Type in the names of the Trunk Branches and Tags folders. We chose to use these names to make it easy. They need to be setup on the SVN server by the administrator. They ARE case sensitive.

10. The text.txt file can be deleted from the server through Xcode if desired.

11. Close the terminal session.

Thoughts

 

Sometimes not all views refresh correctly. We suggest closing Xcode and opening it again to get things visible that you know should be there.

If you need to change user names, and or passwords. Then you will need to enter the terminal again and upload something using the method above.

We don’t understand exactly why, but it appears that Xcode will remember the authentication of the terminal session, and caches the authentication properties some place. Without the terminal session upload, you will never get it working!

 

 

配置Xcode SVN從零開始

本節介紹一下從零配置Xcode SVN,Xcode 2.0 是開發人員創建 Mac OS X 應用程序的最快捷方式,也是利用新的蘋果電腦公司技術的最簡單的途徑,而SVN是版本控制工具,那麼Xcode SVN又是什麼呢?如何配置Xcode SVN?本節就向你們一一講解。

1、SVN幹什麼用的?

若是你重沒接觸過svn,也許這篇文章會對你有點幫助。一個大project老是不少人一塊兒在開發,每一個人都會更新這個project的sourcecode,svn就是爲了方便你們一塊兒維護管理sourcecode而誕生的。(svn真是不可多得的好東西!很奇怪LTE那麼大的工程那麼多人作,實驗室怎麼沒人提倡用svn呢?)

我剛開始自學iphone的時候真的特別笨!代碼須要一次又一次的修改,但有時修改後反而不能運行又找不出錯在哪兒,「恢復」原來版本從新修改是一種好辦法,惋惜那時候我沒據說過svn走了不少彎路,我人工的爲每一個project存儲了不少版本,最後搞得本身也不知道哪一個版本能用不能用了,實在費時費力又沒效率!後來yile大大教我在Xcode上配置使用svn,生產力一會兒從原始社會進入封建社會,省了很多事啊。

2、Xcode SVN配置方法

Mac自帶svn,因此咱們就不須要下載了,稍稍修改一下subversion配置就能使用。大大教了兩種方法:方法1、適合團隊合做的固然是把sourcecode放在服務器上,這樣你們均可如下載、更新,不過一般這種服務器都是要收費滴(公司內網設個服務器是否是可用,這個我還沒學);方法2、若是隻是用於管理本身的程序,那麼直接把本機看成服務器來配置就能夠了~

配置Xcode SVN方法一:

Leopard中自帶了SVN,但Xcode的項目文件中,並非全部文件都適於加入SVN中進行管理,好比編譯後的文件和編譯過程當中產生的文件,這些文件不屬於源代碼,應該告訴svn忽略掉,方法:

編輯~/.subversion/config文件

1.找到global-ignores一行,去掉註釋,編輯成

global-ignores=build*~.nib*.so*.pbxuser*.mode*.perspective*.DS_Store

Xcode項目文件中有些文件是文本文件,須要告訴SVN,由於SVN能更好地管理文本文件

2.找到enable-auto-props=yes把註釋去掉,在[auto-props]Section聲明如下文本文件

*.mode*=svn:mime-type=text/X-xcode

*.pbxuser=svn:mime-type=text/X-xcode

*.perspective*=svn:mime-type=text/X-xcode

*.pbxproj=svn:mime-type=text/X-xcode

先去http://svn.w18.net/註冊一個賬號,能夠無償使用一個月練練手。登陸後建立一個項目,打開Xcode->SCM->ConfigureSCMRepositories,填寫信息以下圖,而後咱們就能夠import、checkout操做了,這裏解釋一下庫(repository)和服務器、本機之間的關係。庫記錄着全部版本的代碼信息,不管你是從服務器下載更新代碼(update)仍是想將本地修改後的代碼上傳至服務器(commit)都要通過Repository;它就像一個倉庫,從廠家運來的貨物、賣出去的貨物都記錄得清清楚楚,隨時查隨時有。第一次使用時,服務器上沒有sourcecode,須要將第一份源碼import到庫中,庫就自動將sourcecode上傳至服務器了。接下來,怎麼更新、上傳源碼呢?經過checkout能夠將服務器上代碼下載至本機指定路徑,那麼每次修改代碼後,commit操做便可更新本地代碼至服務器,而update可將服務器上最新版本更新至本機,若是你想恢復之前某個版本也很簡單,updateto某個revision版本便可(因爲學校教育網,沒法鏈接至服務器,具體操做在方法二中演示)。

 

 

 

 

XCode中使用SVN 教程是本文要介紹的內容,Xcode 是開發人員創建 Mac OS X 應用程序的最快捷方式,也是利用新的蘋果電腦公司技術的最簡單的途徑,而SVN是版本控制工具,那麼Xcode SVN又是什麼呢?如何配置Xcode SVN

Xcode SVN配置方法

Mac自帶svn,因此咱們就不須要下載了,稍稍修改一下subversion配置就能使用。大大教了兩種方法:

第一步,配置 Subversion

Leopard中自帶了SVN,但Xcode的項目文件中,並非全部文件都適於加入SVN中進行管理,好比編譯後的文件和編譯過程當中產生的文件,這些文件不屬於源代碼,應該告訴svn忽略掉,方法:

編輯 ~/.subversion/config 文件 

注意:若是」.subversion」目錄不存在,請運行」svn status」命令,雖然此命令會失敗,可是會爲你建立所須要的文件.    

open ~/.subversion/config 打開文件

1. 找到 global-ignores 一行,去掉註釋,編輯成

  1. global-ignores = build *~.nib *.so *.pbxuser *.mode *.perspective* 

Xcode項目文件中有些文件是文本文件,須要告訴SVN,由於SVN能更好地管理文本文件(誰用誰知道)

2. 找到 enable-auto-props = yes 把註釋去掉,在[auto-props] Section聲明如下文本文件

  1. *.mode* = svn:mime-type=text/X-xcode*.pbxuser = svn:mime-type=text/X-xcode*.perspective* 
  2. svn:mime-type=text/X-xcode*.pbxproj = svn:mime-type=text/X-xcode 

第二步,配置Xcode

咱們熟悉的Version Control在Xcode中叫作SCM(Software Configuration Management,學習CMMI的時候成天看到,原來就是Version Control),

1. 在Xode的菜單中選擇 SCM -> Configure Repositories,填寫SVN服務器的信息

XCode中使用SVN 教程

2. 而後選SCM -> Repositories 你就能夠Import, Check Out你想要的內容了,SVN的平常管理也能夠在這裏作。

XCode中使用SVN 教程

3. Checkout項目之後在你的項目的屬性中設置項目的SCM

XCode中使用SVN 教程

4. 設置好之後,你在你的項目視圖中就能夠看到新的一列,M表示該文件已經修改過,而後你已經能夠經過SCM菜單,或者右鍵菜單直接進行SVN的操做, commit,update,revert,diff and log,任何你想要的。

XCode中使用SVN 教程

SCM->Get SCM Info 能夠看到任何文件的版本信息。

XCode中使用SVN 教程

小結:XCode中使用SVN 教程的內容介紹完了,但願本文對你之後幫助!關於XCode的更多內容請參考編輯推薦。

【編輯推薦】

 

 

IOS開發系列之阿堂教程:構建IOS應用開發的 svn的服務端和客戶端環境實踐

  (2012-03-24 20:39:21)

些開發ios應用的朋友,可能剛開始不怎麼在乎ios開發時代碼的管理,認爲可能只是一我的開發而也,無所謂。固然,一我的開發確實有無svn的codes的版本管理,的確影響不大。隨着項目團隊的成立,就會不斷有其它同事加入ios應用的開發了,svn的重要性就不言而喻了。由於,須要協調開發,這時候開發就不是一我的的代碼了,而是多我的在開發同一個應用了,須要講究協調配合開發了,同一個應用中就會有不少人的代碼了,代碼固然須要好好管理了。。重要性,對於程序員朋友應該知道了。哈,下面,網絡時空(阿堂)就把本身安裝好的svn的服務端和客戶端的操做截圖和網友們分享一下了,但願能對從事ios應用,尚未使用svn或將要使用svn管理codes的朋友參考一下了!
1.服務端的安裝
(用什麼操做系統做svn服務器,網友們能夠自行選擇。。阿堂下面就是直接用的xp做爲 svn server了)

 

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐


 

2.客戶端的安裝

(在Mac OS系統下安裝)

 

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

IOS開發系列之阿堂教程:構建IOS應用開發的 <wbr>svn的服務端和客戶端環境實踐

 

 

概要

概述

        SAE自2011-7-10日起,將全面支持SVN代碼部署,用戶不只能夠經過任何SVN客戶端部署代碼,並且SAE現有的代碼部署方式也已經對接應用的SVN倉庫,即便不使用SVN客戶端部署代碼,也保證了代碼版本。 

        如:經過在線代碼編輯器(http://sdk.tools.sinaapp.com)等方式對代碼的修改、部署等操做也會像svn commit同樣,產生一個新版本。經過SVN客戶端svn update能夠獲取最近的更新,也能夠經過svn客戶端回滾代碼。 

SVN倉庫地址:  https://svn.sinaapp.com/your_app_name (您能夠經過此地址直接訪問)

如:應用域名是 test.sinaapp.com,那麼SVN倉庫地址是:https://svn.sinaapp.com/test

SVN用戶名:  SAE安全郵箱     

SVN密碼:  SAE安全密碼(如已啓用微盾動態密碼,則此處填寫「安全密碼」+「微盾動態密碼」) 

注:SVN用戶名和密碼爲安全郵箱和安全密碼,不是微博帳號和微博密碼!

與標準SVN的區別

  爲了保持與SAE兼容,使用svn方式部署代碼到SAE有以下限制: 

    一、文件名或目錄名不容許含有如下字符:",*,?,<,>,|,另外文件或文件名的開始與結束也不允             許有空格。 

    二、上傳單個文件大小不超過20M 

    三、單個目錄下的文 件個數不能超過2000個 

    四、每一個應用代碼總大小不超過100M 

    五、單個版本代碼總大小不超過50M 

    六、appname目錄下只容許存在10個之內的版本,而且版本號必須爲正整數。(也就是說appname下面只容許出現10個之內的正整數             目錄名,不容許有非目錄的存在) 

代碼部署原理

  SAE代碼部署分爲三步: 

  建立應用

        登錄SAE在線管理平臺,「建立新應用」(http://sae.sina.com.cn/?m=myapp&a=create)時,若是建立成功,系統會自動爲該應用建立一個SVN倉庫。假設新建立的應用名爲newapp,那麼倉庫地址爲: 

        https://svn.sinaapp.com/newapp/ 

        此時,能夠經過本地SVN客戶端檢出(checkout)該應用的本地工做目錄。 

  部署代碼

     SAE提供了不一樣的代碼部署方式,能夠分爲兩類: 

          一是經過SVN客戶端部署,這是SAE推薦的代碼部署方法。 

          另外一個是經過非SVN客戶端部署,即在線代碼在線編輯器和推薦應用安裝。 

        這兩類代碼部署方法都會更新應用的SVN倉庫版本,但必須注意的是非SVN客戶端部署方式沒法提供版本管理功能,只能看到最新版本的代碼,也沒法回滾代碼。 

        所以,強烈建議僅使用SVN客戶端方式部署代碼,若是同時使用非SVN客戶端方式部署,爲避免代碼版本衝突,請及時在本地SVN工做目錄下執行svn update操做,保證本地工做目錄與線上代碼保持一致。 

  驗證

        代碼更新後,經過svn update或直接經過瀏覽器訪問應用查看代碼是否已經更新到線上。 

 

相關資源

  TortoiseSVN下載:http://tortoisesvn.net/downloads.html

  Subversion中文站:  http://www.subversion.org.cn/

Windows SVN

使用TortoiseSVN客戶端

        在Windows下推薦使用烏龜(Tortoise)SVN客戶端。 TortoiseSVN 是 Subversion 版本控制系統的一個免費開源客戶端,能夠超越時間的管理文件和目錄。文件保存在中央版本庫(即SAE中央SVN倉庫),除了能記住文件和目錄的每次修改以 外,版本庫很是像普通的文件服務器。你能夠將文件恢復到過去的版本,而且能夠經過檢查歷史知道數據作了哪些修改,誰作的修改。這就是爲何許多人將 Subversion 和版本控制系統看做一種「時間機器」。 

下載安裝

   TortoiseSVN下載:http://tortoisesvn.net/downloads.html

又不是在linux下,安裝就很少說了 :) 

下面詳細介紹使用TortoiseSVN向SAE部署代碼。 

建立本地工做目錄

        第一步,如圖1,建立一個新文件夾做爲本地工做目錄(Working directory),可使用應用名爲文件夾名。如,爲個人應用devcenter建立本地工做目錄。 

 

  第二步,從SAE的SVN倉庫檢出(checkout)一個應用的所有版本代碼,如圖2,右鍵-->點擊「SVN Checkout」 

 

  在彈出頁面中填寫倉庫路徑便可,這裏是:https://svn.sinaapp.com/devcenter/,其它默認參數便可,如圖3: 

 

  Reversion處,「HEAD revision」是指最新版,也能夠指定Revision爲任意一個版本。 

  點擊「OK」,出現下載界面,如圖4: 

 

  若是一切順利,devcenter應用全部版本代碼將會所有出如今剛剛建立的devcenter文件夾下,如圖5: 

 

修改代碼

  在本地使用你喜歡的編輯器,編輯任意文件,保存後該文件圖標將會出現紅色感嘆號,如圖6所示: 

 

        看,剛剛修改過的index.php變色了。下面須要提交(commit)最近的更新。在index.php文件上擊右鍵,出現菜單 , 

選擇「SVN commit」,如圖7: 

 

  而後填寫關於本次更新的日誌(log message),這是必填項,不然commit會失敗。如圖8: 

 

  當您看到如圖9所示,代表剛纔的修改已經成功提交,而且前該devcenter項目的SVN版本號加1,變成30. 

 

新增文件/文件夾

        在 SVN工做目錄下,對於文件修改,完成後只須要commit就ok了,但對於新增文件,或者從其它目錄複製進來的文件或文件夾,須要在commit以前需 要作一步add操做,即將文件或文件夾添加到svn工做目錄中來,不然SVN客戶端不認它。具體操做很簡單,如圖10: 

 

  而後再如圖7所示,右鍵commit 便可。 

  更多Tortoise SVN使用幫助,請參閱:http://www.subversion.org.cn/tsvndoc/

Notepad++集成svn插件

  Notepad++ 是一款Windows環境下很受歡迎的免費開源的代碼編輯器,有很豐富的第三方插件。 

  下面介紹Notepad++的svn插件的安裝及使用。 

    如圖12,點擊Plugin --> Plugin Manager --> Show Plugin Manager 

 

    打開後,在「Available」頁找到「Subversion」,而後點擊「Install」,如圖13所示: 

 

    安裝成功後會在Plugins菜單下出現"Subversion"子菜單。 

            打開以前checkout下來的任一文件,如devcenter/1/index.php,編輯完成後,點擊Plugins --> Subversion --> Commit File(或使用    快捷鍵Ctrl+Alt+A) 

    出現熟悉的一頁,如圖14所示: 

 

    對,這就是烏龜SVN的Commit頁面,輸入Log Message,點擊「OK」便可提交。 

使用UltraEdit Studio部署

    UltraEdit Studio(注意不是UltraEdit,UltraEdit不能與SVN整合)配置稍微複雜些。 

    第一步,SVN倉庫帳號設置,如圖15所示: 

 

    而後填寫倉庫信息,如圖16所示: 

 

    完成後,建立Project,如圖17所示: 

 

        填寫project名b.prj後,出現如圖18所示"Project Settings",點擊「Add Folder」,出現「NewFolder」,將"Group"前的勾去掉,而後點擊「Browse」,在「Browse for Folder」頁找到以前checkout出現的本地工做目錄。 

 

    點擊「OK」後出現提示,如圖19所示: 

 

    代表UEStudio自動識別出了選擇的代碼目錄是一個SVN工做目錄,並詢問是否整合,點擊「Yes」,出現如圖20所示: 

 

    大功告成,"Close"以後便可以編輯代碼,並隨時commit修改。如圖21所示: 

 

使用EditPlus部署

    EditPlus依賴於Tortoise SVN(TSVN),必須先安裝。 

    使用最簡單,見圖22所示: 

 

當編輯SVN工做目錄裏的文件時,File --> TSVN即出現相應可操做的菜單。 

Linux/Mac SVN

倉庫地址

https://svn.sinaapp.com/appname/

    爲了傳輸安全,SAE要求統一使用https方式部署代碼; 

建立倉庫

      登錄SAE在線管理平臺(http://sae.sina.com.cn),建立應用,成功後您便可以檢出該應用代碼。 

      例如,您剛剛建立了應用newapp,在本地執行: 

          svn checkout https://svn.sinaapp.com/newapp 

      第一次checkout時須要驗證,用戶名/密碼爲您的SAE安全郵箱和安全密碼(非微博登錄帳號密碼,如已啓用微盾動態密碼,則此處填寫「安全密碼」+「微盾動態密碼」)。 

建立版本

      假如,爲newapp應用建立版本1 

      目前提供兩種方式: 

使用svn客戶端

svn checkout https://svn.sinaapp.com/newapp  #此處須要認證,用戶名/密碼爲您的SAE安全郵箱和安全密碼(如已啓用微盾動態密碼,則此處填寫「安全密碼」+「微盾動態密碼」) 

cd newapp 

mkdir 1 

svn add 1 

svn commit -m"add version 1 for newapp" 

使用在線管理平臺

          在SAE在線管理平臺「代碼管理」處建立版本便可。但爲了不與本地倉庫衝突,務必在本地工做目錄下執行:svn update ,將最近的更新拉到本地來。 

更新代碼

          更新代碼前本地必須有一個工做目錄(Working Directory),建立工做目錄很簡單,只須要檢出(checkout)代碼倉庫便可。如,對於已經建立好的應用newapp,在本地執行: 

     svn checkout https://svn.sinaapp.com/newapp 

          輸入安全帳號和安全密碼,即完成本地工做目錄的建立。 

上傳代碼

      須要增長某個文件或文件夾,如部署wordpress到版本1。 

svn checkout https://svn.sinaapp.com/newapp 

cd newapp/1 

cp -rf /path/to/wordpress/* ./ 

svn add ./* 

svn commit -m"add wordpress" 

修改代碼

      假如須要修改newapp應用版本1根目錄下某個文件,如index.php,完整的操做流程以下: 

svn checkout https://svn.sinaapp.com/newapp    #若是已經checkout過了,不須要從新checkout。 

cd newapp/1 

vim index.php   #這裏編輯代碼 

svn commit -m "edit index.php" 

配置應用(appconfig)

        在應用版本根目錄下,如newapp/1下,建立文件config.yaml(語法參見:http://sae.sina.com.cn/?m=devcenter&catId=193),而後經過svn commit便可完成應用配置。 

        如,如今須要更新應用newapp的默認版本3的appconfig,操做以下: 

    svn checkout https://svn.sinaapp.com/newapp    #若是已經checkout過了,不須要從新checkout。 

    cd newapp/3 

    vim config.yaml   #這裏按照config.yaml語法編輯便可。 

    svn commit -m "update config.yaml" 

        注意:config.yaml不會被部署到用戶的代碼目錄,但會被存儲在服務端SVN倉庫中。所以下次能夠被checkout出來,但不會被用戶訪問到。 

在線編輯代碼

      SVN能夠在線閱讀應用代碼,地址即SVN倉庫地址:https://svn.sinaapp.com/appname/ 

      將appname換成本身的應用名便可登錄查看代碼。 

      在線編輯器 可在管理面板>>代碼管理>>編輯代碼 打開 

SVN for SAE的限制條件

      爲了保持與SAE兼容,使用svn方式部署代碼到SAE有以下限制: 

      一、文件名或目錄名不容許含有如下字符:",*,?,<,>,|,另外文件或文件名的開始與結束也不容許有空格。 

      二、上傳單個文件大小不超過4M 

      三、單個目錄下的文 件個數不能超過400個 

      四、每一個應用代碼總大小不超過100M 

      五、單個版本代碼總大小不超過50M 

      六、appname目錄下只容許存在10個之內的版本,而且版本號必須爲正整數。(也就是說appname下面只容許出現10個之內的正整數             目錄名,不容許有非目錄的存在) 

常見錯誤說明及解決辦法

錯誤提示
錯誤緣由
解決方法 

The change log need some words(not null)
提交時沒有添加log message
提交時加上log message便可 

The log message is a pathname (was -F intended?); use '--force-log' to override
log message 與路徑名稱相同
修改log message 

Error file xxx in not allowed in root directory!
working copy的根目錄下不容許有名爲xxx的文件(只能是正整數版本目錄)
刪除該文件或者移到到版本目錄下 

directory xxx/ is not allowed in root directory! Only positive integer dirs are allowed! 

working copy的根目錄下不容許有名爲xxx的目錄(只能是正整數版本目錄)
刪除該目錄或者移到版本目錄下 

Too many versions!(less than 10 is permited)
版本目錄多於10個,最多不超過10個
刪除剛剛建立的版本目錄便可。 

Too many files: XXX (less than 2000 is allowed).
XXX目錄下文件的數量超過2000
刪除XXX目錄下的文件,使其總數降至2000如下 

dir APPNAME/dir(size:xxxx) is too large less than xxx
該應用下代碼(不包括.svn目錄)總大小超過100M,或某個版本總大小超過50M
刪除沒必要要的代碼再嘗試提交 

File XXX is too large!(less than 4M)
單個文件大小超過4M
刪除重試 

相似Repository UUID '305daf1b-94be-48ee-a4b9-f4bcd36320de' doesn't match expected UUID '44e2f7a2-1b69-4710-974a-b6edef0fdc12'
服務器端倉庫被刪除重建,客戶端對原倉庫進行操做致使。
從新checkout出一份代碼便可 

add vers xxx faild
文件部署失敗
內部緣由,請聯繫saesupport@sina.cn。 

經常使用svn命令說明

    一、從SVN倉庫中檢索出代碼到工做拷貝: 

           # svn checkout https://svn.sinaapp.com/appname [workcopy] 

           其中workcopy是可選的,若是不寫workcopy,SVN會默認將appname作爲workcopy。 

           若是隻檢索某個版本: 

           # svn checkout https://svn.sinaapp.com/appname/appversion [workcopy] 

           只檢索某個版本的某個目錄: 

           # svn checkout https://svn.sinaapp.com/appname/appversion/folder [workcopy] 

    二、向SVN倉庫提交代碼: 

           # svn commit -m "here is message" 

    三、將本地文件添加到工做拷貝: 

           # svn add something 

           注:若是something爲文件,svn會將這個文件添加到工做拷貝;若是something是目錄,svn會將目錄及裏面的文件全添加到工做                      拷貝。something也能夠是通配符*,這樣會忽略已經添加過的文件。 

    四、從工做拷貝中刪除一個文件: 

           # svn delete something 

           注:若是something爲文件,svn會將這個文件從工做拷貝中刪除;若是something是目錄,svn會將目錄及裏面的文件所有從工做                      拷貝中刪除。 

    五、直接從SVN倉庫中刪除文件: 

           # svn delete -m "delete something" https://svn.sinaapp.com/appname/appversion/something 

           注:能夠從SVN倉庫中直接刪除單個文件或單個目錄甚至某個版本。 

    六、將一個本地項目導入到SVN倉庫: 

           導入應用的某個版本: 

           # svn import localdir https://svn.sinaapp.com/appname/appversion 

           注:要確保目前應用的appversion不衝突。 

    七、查看工做拷貝中的文件或目錄狀態: 

           # svn status [something] 

    八、更新本身的工做拷貝: 

           # svn update 

           注:從SVN倉庫下載最新版本,此命令會致使本地沒有提交的更改丟失,建議使用此命令前先查看一下本地拷貝狀態(svn status). 

    九、取消對代碼修改 

           取消對代碼的修改分爲兩種狀況。 

第一種狀況:改動沒有被提交(commit)。 

           這種狀況下,使用svn revert就能取消以前的修改。 

           svn revert用法以下: 

           # svn revert [-R] something 

           其中something能夠是(目錄或文件的)相對路徑也能夠是絕對路徑。 

           當something爲單個文件時,直接svn revert something就好了;當something爲目錄時,須要加上參數-R(Recursive,遞歸),不然              只會將something這個目錄的改動。 

           在這種狀況下也可使用svn update命令來取消對以前的修改,但不建議使用。由於svn update會去鏈接倉庫服務器,耗費時間。 

           注意:svn revert自己有固有的危險,由於它的目的是放棄未提交的修改。一旦你選擇了恢復,Subversion沒有方法找回未提交的修                        改。 

第二種狀況:改動已經被提交(commit)。這種狀況下,用svn merge命令來進行回滾。  

           回滾的操做過程以下:  

             1) 保證咱們拿到的是最新代碼:  

                  svn update  

                  假設最新版本號是28。  

             2) 而後找出要回滾的確切版本號:  

                  svn log [something] 

                  假設根據svn log日誌查出要回滾的版本號是25,此處的something能夠是文件、目錄或整個項目 

                  若是想要更詳細的瞭解狀況,可使用svn diff -r 28:25 [something] 

             3) 回滾到版本號25: 

                  svn merge -r 28:25 something 

                  爲了保險起見,再次確認回滾的結果: 

                  svn diff [something] 

                  發現正確無誤,提交。 

             4) 提交回滾: 

                  svn commit -m "Revert revision from r28 to r25,because of ..."  

                  提交後版本變成了29。 

                  將以上操做總結爲三條以下: 

                  a. svn update,svn log,找到最新版本(latest revision) 

                  b. 找到本身想要回滾的版本號(rollbak revision) 

                  c. 用svn merge來回滾: svn merge -r : something 

    十、查看SVN倉庫日誌信息: 

            # svn log [workcopy] 

            查看全部本地的歷史日誌,若是workcopy爲某文件,那麼就是查看某個文件的日誌信息。 

            查看SVN倉庫全部文件的日誌信息: 

            # svn log https://svn.sinaapp.com/appname/ 

            這個命令會查看全部修改過的日誌。 

    注:SAE提供的SVN服務徹底支持標準SVN的全部命令,更詳細的使用說明請查閱SVN官方幫助文檔。 

            SVN命令幫助文檔:http://www.subversion.org.cn/svnbook/1.4/svn.ref.html 

            中文徹底幫助文檔:http://svnbook.red-bean.com/index.zh.html 

相關文章
相關標籤/搜索