Evan's Blog

          Java, software development and others.

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            28 隨筆 :: 0 文章 :: 73 評論 :: 0 Trackbacks

          SVN可以配置多種方式進行訪問,但在公司內部搭建的svn服務器,如果僅僅在局域網里訪問的話,總感覺用svn協議要比http協議來得效率高些,所以,一般總是用svnserve來啟動svn的服務。一般而言,如果是從svn 1.2或1.3的版本開始使用的人,總以為svn協議只能配置到倉庫的權限控制,而不能針對目錄進行權限控制,即使看到其authz示例文件中有如下的內容:

          #? [ repository:/baz/fuz ]
          #?@harry_and_sally?
          = ?rw
          #?*?
          = ?r

          但謹守其自帶文檔Chapter 6中關于svnserve一節(jié)的教導:

          Notice that svnserve only understands “blanket” access control. A user either has universal read/write access , universal read access, or no access. There is no detailed control over access to specific paths within the repository. For many projects and sites , this level of access control is more than adequate. However , if you need per-directory access control , you'll need to use either use Apache with mod_authz_svn (see the section called “Per-Directory Access Control”) or use a pre-commit hook script to control write access (see the section called “Hook Scripts”).

          一般還是不會多去研究,只當作是結合Apache來進行面向目錄的權限控制文件示例。

          其實,心里一直對這種方式有個小疙瘩,最近又要開一個新項目的代碼庫,雖然實際上對代碼的訪問控制也沒有特別的要求,但心想既然authz文件里有關于目錄的設置,是不是能嘗試一下,用svnserve也能進行目錄權限的控制呢。于是到網上搜了一下,omg,這個功能竟然早在1.3的時候就已經實現了,對其詳盡而完整的描述來自Michael的這篇Subversion之路--實現精細的目錄訪問權限控制?,其中的幾個要點包括:
          ??? 1. svnserve支持面向目錄的訪問控制了;
          ??? 2. 權限具備繼承性,所以需要用"* = "的形式來禁止未授權的用戶訪問特定子目錄;
          ??? 3. svn 1.3.2及以后的版本允許對子目錄進行操作而無需父目錄的讀權限;
          ??? 4. 如果是中文目錄的話,authz必須以utf-8的格式保存,且不能帶BOM,而windows自帶的記事本按utf-8保存的文件則會加上BOM,所以,如果你以utf-8格式保存好后,提交代碼時,svn報"section header expected"的錯時,則多半是帶BOM的。當然現在很多編輯器都能很方便的轉換了,如ultraedit的保存為U8-DOS,editplus保存為utf-8,以及開源的Notepad++的格式轉換中的“轉換為utf-8碼(無BOM)”等都可以完成這個工作。

          無論如何,這總算解開了我心中的一個小疑團,所以,即使軟件自帶的文檔,往往也不是絕對的權威(叫我還能相信誰:-( ,在svn 1.4.2版本中帶的文檔,還是針對1.3的)。不過Subversion Book網站上提供的針對svn 1.4的nightly版本已經很明確的講解了這一部分的內容了。

          posted on 2007-04-01 14:33 Evan 閱讀(3278) 評論(1)  編輯  收藏 所屬分類: SE筆記

          評論

          # re: 關于svnserve的權限控制 2007-04-04 19:48 HD
          呵呵,被呼有的感覺爽罷 :)  回復  更多評論
            

          主站蜘蛛池模板: 望都县| 黄浦区| 平远县| 鄄城县| 茶陵县| 黑水县| 双桥区| 永城市| 虎林市| 阳泉市| 右玉县| 杂多县| 汕头市| 黔西| 嘉鱼县| 高唐县| 曲松县| 邵阳县| 山丹县| 金坛市| 武冈市| 广南县| 灵寿县| 凌海市| 咸丰县| 潮安县| 永嘉县| 四会市| 白玉县| 仪陇县| 河西区| 通河县| 湘阴县| 鹰潭市| 静安区| 台东市| SHOW| 红原县| 芜湖县| 侯马市| 平安县|