請勿將某些檔案類型的檔案簽入到 Subversion 版本庫

我們在用 Visual Studio 開發專案的時候,常常都會有人將一些個人的設定檔也簽入到 Subversion 版本庫,例如說:*.suo, *.user 等。導致每次開啟 Visual Studio 的時候都會變更這些檔案的內容,造成每次簽入變更到資料庫時都會將這些檔案也都簽入,當其他團隊成員在做 SVN Update 時,會造成檔案衝突的問題,對大家來說也是個困擾。

我這裡整理出一些常見的檔案類型,請不要將以下檔案簽入(commit)到 Subversion 版本庫:

如果你已經簽入(commit)到 SVN 版本庫的話,必須用以下步驟將檔案從版本庫中移出,並從下次起忽略這些檔案:

  1. 先備份這些檔案,然後刪除這些檔案
  2. 簽入這些刪除的變更
  3. 將步驟 1 備份的檔案還原
  4. 重新簽入,但這時會看到幾個新的檔案(non-versioned),將這些檔案加入 SVN 的 ignore list ( 如下圖示 )

    重新簽入,但這時會看到幾個新的檔案(non-versioned),將這些檔案加入 SVN 的 ignore list

    加入後檔案會不見,但是卻會出現目錄的名稱,但是 Status 卻是 modified (property change only) 代表此目錄已經加上了 ignore 的屬性,必須要簽入到 SVN 版本庫後才能將此設定 share 給其他團隊成員:

    加入後檔案會不見,但是卻會出現目錄的名稱,但是 Status 卻是 modified (property change only) 代表此目錄已經加上了 ignore 的屬性,必須要簽入到 SVN 版本庫後才能將此設定 share 給其他團隊成員

 

  

此文章由 will 發表於 2008/2/20 上午 12:06:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: Subversion | 團隊合作 | 專案管理

標籤: , ,

收藏:

如何在 Win32 安裝 Apache 2.0 with OpenSSL + Subversion 1.4

1. 安裝 Subversion 1.4

    http://subversion.tigris.org/

    http://tortoisesvn.tigris.org/

    安裝完成後,設定「系統環境變數」Path 加入 c:\Program Files\Subversion\bin 目錄

2. 安裝 Apache 2.0 with OpenSSL

    http://httpd.apache.org/download.cgi

    http://apache.cdpa.nsysu.edu.tw/httpd/binaries/win32/

    下載這個檔 apache_2.0.59-win32-x86-openssl-0.9.7j.msi

    安裝時要用「自訂安裝」與用 Port 8080 不要自動啟動影響原本 IIS 的運作

    安裝完成後,先編輯設定檔

        C:\Program Files\Apache Group\Apache2\conf\httpd.conf

            LoadModule dav_module modules/mod_dav.so

            LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
            LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"

            LoadModule ssl_module modules/mod_ssl.so

            # 新增下面設定到 httpd.conf 設定檔的最下方

-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=
<Location /repos>
  DAV svn
  SVNParentPath "C:/SVNRepos"

  # how to authenticate a user
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile "C:/SVNRepos/passwd.ini"
 
  # only authenticated users may access the repository
  Require valid-user

  # For any operations other than these, require an authenticated user.
  #<LimitExcept GET PROPFIND OPTIONS REPORT>
  #  Require valid-user
  #</LimitExcept>

  # our access control policy
  AuthzSVNAccessFile "C:/SVNRepos/authz.ini"                
 
</Location>
-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=

        C:\Program Files\Apache Group\Apache2\conf\ssl.conf

            將所有 443 改成 3443

    產生 SSL Cert & Key

        參考:http://tud.at/programm/apache-ssl-win32-howto.php3

        建立 C:\Program Files\Apache Group\Apache2\conf\ssl 目錄
        建立 C:\Program Files\Apache Group\Apache2\conf\ssl.key 目錄
        建立 C:\Program Files\Apache Group\Apache2\conf\ssl.crt 目錄

        下載 http://tud.at/programm/openssl.cnf 到 C:\Program Files\Apache Group\Apache2\conf\ssl 目錄下

        進入指令模式執行以下指令:

        # 註解:密碼都用 0000 即可
        openssl req -config openssl.cnf -new -out server.csr


        Country Name (2 letter code) []:TW
        State or Province Name (full name) []:Taiwan
        Locality Name (eg, city) []:Taipei
        Organization Name (eg, company) []:My Company Inc.
        Organizational Unit Name (eg, section) []:R&D Team
        Common Name (eg, your websites domain name) []:svn.mydomain.com
        Email Address []:svn@mydomain.com

        Please enter the following 'extra' attributes
        to be sent with your certificate request
        A challenge password []:0000

        openssl rsa -in privkey.pem -out server.key

        openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
        openssl x509 -in server.crt -out server.der.crt -outform DER

        將 server.crt 移至 C:\Program Files\Apache Group\Apache2\conf\ssl.crt 目錄
        將 server.key 移至 C:\Program Files\Apache Group\Apache2\conf\ssl.key 目錄

    測試一下 Apache2 with SSL 有沒有成功

        C:\Program Files\Apache Group\Apache2\apache.exe -D SSL

    註冊 Apache2 服務

        cd C:\Program Files\Apache Group\Apache2\bin
        Apache.exe -k install
        Apache.exe -k config -D SSL

    啟動 Apache 2

        Apache.exe -k start

3. 建立 SVN Repository 環境

    建立 D:\SVNRepos 目錄

    建立 Apache 的認證的密碼檔 passwd.ini

        d:
        cd \SVNRepos

        "c:\Program Files\Apache Group\Apache2\bin\htpasswd.exe" -c passwd.ini [帳號]
        或
        "c:\Program Files\Apache Group\Apache2\bin\htpasswd.exe" -bc passwd.ini [帳號] [密碼]

    建立 Subversion 的權限檔 authz.ini

-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=
# 先定義群組
[groups]
pm = user1
developers = user1,user2,user3
everyone = *

# 預設拒絕所有人進入瀏覽
[/]
* =
-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=

    建立第一個 SVN Repository

        d:
        cd \SVNRepos

        svnadmin create project1

        備註:不用再修改 project1/conf/svnserve.conf 檔案了,因為都定義在 Apache 的 httpd.conf 裡了

    修改 Subversion 的權限檔 authz.ini

        新增下列幾行到 authz.ini 最下面

-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=
# 語法 ==>  〔儲存庫:專案路徑〕

# 要讓 PM 能 Import 最初始的專案,所以要全部能寫入
[project1:/]
@pm=rw
@developers=r

# 開發人員只能 commit 到 trunk
[project1:/trunk]
@developers=rw

# 只有 PM 可以決定何時該 Release 版本
[project1:/tags]
@pm=rw

# 只有PM 才可以決定是否進行分支開發,若分支開發需要再進行設定權限
[project1:/branch]
@pm=rw
-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=-*=

    匯入專案資料


        - 建立 Working Folder

            D:\Projects
            D:\Projects\Project1
            D:\Projects\Project1\branches        - 先預留空白
            D:\Projects\Project1\tags        - 先預留空白
            D:\Projects\Project1\trunk        - 將所有一開始要開發資料放到這裡!

            D:\Projects\Project1\trunk\docs    - 將所有開發文件放到這裡!
            D:\Projects\Project1\trunk\Website    - 將網站開發的原始檔放到這裡!

        - 匯入專案到 Repository

            cd D:\Projects\Project1

            svn import . https://svn.mydomain.com:3443/repos/project1/

    測試網頁瀏覽SVN儲存庫

        https://svn.mydomain.com:3443/repos/project1/

 

  

此文章由 will 發表於 2007/11/1 上午 09:40:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: 專案管理 | Subversion

標籤: ,

收藏: