1. 程式人生 > >svnsync 兩個svn庫之間的同步

svnsync 兩個svn庫之間的同步

試驗下來,SVNSync除了目標庫為只讀之外,其它功能都很強大,實現也相對簡單。 http://www.svn8.com/svnsy/20090624/6785.html 如用svnsync 同步備份linux 下svn版本庫到Windows 要同步的專案名稱:MU svn版本庫1。4以上 源目錄:svn://192.168.1.196/mu 目標目錄:svn://192.168.1.205/mu 方法: 1.如果目標目錄存在相同的專案,請先清除,重新建立空專案 svnadmin create mu 2.在mu目錄下hooks目錄下,建立 pre_revprop-change.bat 全部內容只有一行:exit 0 如果用拷貝同目錄下的pre_revprop-change.tmpl 則必須刪除最後三行的內容或替換為只有一行:exit 0 不然下面初始化同步的時候,將停頓 3. 執行 初始化 svnsync init svn://192.168.1.205/mu svn://192.168.1.196/mu 即svnsync init 目標庫 源庫 將向你詢問登入目標庫和源庫的使用者名稱和密碼,建議為兩個庫設定相同的使用者名稱及相同的密碼 正確後,顯示 Copied properties for revision 0. 4.執行同步 svnsync sync svn://192.168.1.205/mu 即svnsync sync 目標庫 正確執行後,顯示 Committed revision 1. Copied properties for revision 1. Committed revision 2. Copied properties for revision 2. Committed revision 3. Copied properties for revision 3. Committed revision 4. Copied properties for revision 4. Committed revision 5. Copied properties for revision 5. Committed revision 6. Copied properties for revision 6. Committed revision 7. Copied properties for revision 7. Committed revision 8. ... 5.更新同步 在源庫的hooks下面,新增post-commit 指令碼 可拷貝post-commit.tmpl 即 cp post-commit.tmpl post-commit 然後 把 post-commit 中,最後兩行替換為 svnsync sync  --non-interactive svn://192.168.1.205/mu --sync-username user --sync-password user 即提交更新後,即執行同步命令,不進行互動 把post-commit 設為755許可權。 ps: 如果post-commit指令碼出錯,或者無可執行許可權,在提交更新時會報錯