原文:http://bbs.scmlife.com/thread-13990-1-1.html
本貼總結了svn使用過程中可能會碰到的問題,有的來自于本論壇,有的來自于其他網絡資源,有的來自己我的工作實踐,希望大家將經過驗證的問題和解決方案也貼上來,供大家分享,好的回帖將給與獎勵。長篇大論的安裝及配置步驟就不要在本貼發了,本貼注重具體問題的解決。禁止灌水或發沒有意義的貼,一經發現馬上刪除。5 Y# ]" q& J+ u. z+ g {
, Q0 W) m5 w7 g9 D
1. 隱藏文件.svn目錄刪除了怎么辦
Checkout 后,工作空間下.svn目錄下有大量隱藏文件,占用比較大的空間,他們是工作空間的管理文件,不能刪除,如果不小心刪除了也不要抓狂,不會影響服務器端 的,重新checkout就又可以工作了。如果想不包含這些隱藏文件導出,可以用TSVN菜單里的export完成。0 Y# y4 |2 Z. ?; [1 _0 A+ w
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=13673&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
5 R- u2 v: P5 b" F7 I
2. 文件名大小寫問題,在下載代碼時,下載到一半,系統提示不能找到……文件, 提示Can't copy"……"to"……"系統找不到指定文件3 i& x2 Q8 c5 k4 i8 K
該問題很可能是因為上傳了大小寫不同的同名文件,在Repo-Browser里找到同名文件刪除一個就好了。(該問題曾經困惑過好長時間,解決了是如此簡單)/ ~+ G% T: o: h" s, a2 e
相關帖子:8 v1 ]1 K5 W6 R; j3 j; o! t- q
http://bbs.scmlife.com/viewthread.php?tid=7344&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
7 D* A" J" I& z" q% U. \" u# H
3. 為什么我的配置庫http://ip/svn無法訪問,提示沒有權限,但是通過http://ip/svn/myproject可以訪問) c; c: E* U% p0 Y+ y
在apache配置文件httpd.conf配置的只是個配置庫倉庫的虛擬目錄,物理上是不存在,即使有所有配置庫的權限也只能訪問到具體的配置庫一級
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=13616&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D186 D- t* V9 X: D' ~
4. 在安裝svn的機器上可以進行commit操作,但是通過其他機器commit出錯
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=13387&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
5. can’t connect to host …………
1,服務器有沒有運行,有沒有打開相應端口6 }( U1 }3 P* I& c" ?4 Z
如果服務器是svnserve,檢查有沒有運行svnserve,有沒有打開3690端口/ s& t1 x; S0 w& k7 i7 I2 q
如果服務器是apache,檢查apahce是否運行,是否打開80端口
檢查時可以在服務器運行netstat -na看看相應端口是否在LISTEN
2,防火墻有沒有開放相應端口. w: w- @, Y! p1 o" b7 P
3,客戶端是否可以連接服務器的相應端口
使用命令telnet 服務器IP 相應端口
如:telnet 192.168.0.1 3690" Q/ i+ K" Z0 D8 r& _1 w0 F
相關帖子:5 B. x5 B3 o' `! p) A: s
http://bbs.scmlife.com/viewthread.php?tid=10120&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18& F. H' ?6 @6 G
6. 基于svnserve的subversion服務器在新配置權限后:svnserve.conf:12: Option expected
該問題是因為subversion讀取配置文件svnserve.conf時,無法識別有前置空格的配置文件,因此在配置文件里每行前面不能有空格+ y3 r( \# g5 ~7 M, K* x- V' d
- }' X! g$ L( |
7. 怎樣才能把svn版本庫中的某一個文件或目錄永久的刪除? $ Q4 X. i6 H x; N, S7 s+ C
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=7320&extra=page%3D2%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
/ f5 x1 w7 n) J: b9 {
8. svn-怎么把authz轉換成UTF-8格式- U! r& j D x7 K
相關帖子:# T0 Y/ G0 e8 q |
http://bbs.scmlife.com/viewthread.php?tid=5166&extra=page%3D2%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
9. 如何從客戶端修改用戶密碼" F$ L8 N( H% H. D$ t
從客戶端修改密碼的工具見附件,apache方式
& [# L9 b: f7 o5 k
10. 提示:405 Method Not Allowed的原因和解決方法
用TortoiseSVN訪問基于apache配置的svn版本庫時,有時候會提示錯誤405 Method Not Allowed,開始用TSVN checkout了一個正常的目錄,假設服務器地址為:http://svn/project1, 之后,服務器經過其它配置,這個地址變了,使得用這個地址不再能訪問到正確的版本庫,此時,TSVN就極有可能報405錯誤。另外,當你訪問的地址大小寫 與服務器的地址不一致時,也會出現該錯誤。只要將TSVN訪問的地址改成正確的,或修改服務器配置,使原地址可以訪問即可解決。: [, ~" y( K0 C; t" d( A! _; T8 M% \
11. 執行Import操作,出錯信息:Error: Can't create directory '/storage/yslProR/db/transactions/0-1.txn': Permission denied (來自網絡)( I# z( Z5 n3 u) N% Y# j
方法:這跟linux用戶訪問目錄的權限有關。! c1 M" Z7 a9 _; ^; R' u! S6 Z- I
1)、創建apache用戶、組,useradd apache groupadd apache 8 M w9 N$ y. P% @. @+ n
2)、將用戶apache加入apache組 usermod -ggroup apache8 X6 V$ f! L& y0 J+ K9 p7 S5 u7 o
3)、修改apache的http.cont文件; l- O4 L( L( t3 N$ N& r, o
找到 User daemon# W7 l8 A3 D, m5 j
Group daemon
改為 User apache
Group apache
4)、修改只有apache用戶對SVN庫目錄有操作權限。/ |4 m( @' ?5 _, X1 q8 y+ U
chown -R apache /庫路徑) _ j4 o1 U O" [- W1 F" ]' {3 i- u
chmod 700 /庫路徑
5)、說明,如果你有apache的用戶、組就不需要創建9 B3 L/ q. a1 ?0 y; y
12. Error: Can't create directory '/svn/test/db/transactions/1-1.txn': Permission denied (來自網絡)
- @$ W, K( g8 @$ ~# C; D. c$ E3 S
方法:沒有可寫權限,chmod go+w transactions
13 .commit failed(details follow):Can't open activity db: Permission denied (來自網絡)' g! P6 j: {, K' u
4 v, S; I) r7 ]& `! E& X
方法:修改倉庫下面dav和db目錄的寫權限..
; [. z% o8 I; g: P6 c( n% o
14.如何提高TSVN的效率
相關帖子:
http://bbs.scmlife.com/thread-15308-1-1.html! t# c8 | }% @
15.在服務器可以訪問配置庫,但其他機器不可以或是有些機器可以有些不可以4 u' P3 s* N/ D' `: [/ w! S
方法:檢查一下網絡連接情況,服務器或不能訪問的機器是否因防火墻不能訪問。
: J& f; I6 N; D9 F' b* Y
16.show log只顯示no date2 y0 r8 _; B( c8 G( p
在SVN中選中一個目錄show log時,出現了某些版本只顯示版本號和(no date),沒有其他信息
原因是其他人修改了你所沒有權限訪問的某個目錄下的文件(可能發生在權限變更時,原來有權限,變更為沒有,只能看到那個目錄以前的log,權限變更后的log看不到,顯示no date)
本貼總結了svn使用過程中可能會碰到的問題,有的來自于本論壇,有的來自于其他網絡資源,有的來自己我的工作實踐,希望大家將經過驗證的問題和解決方案也貼上來,供大家分享,好的回帖將給與獎勵。長篇大論的安裝及配置步驟就不要在本貼發了,本貼注重具體問題的解決。禁止灌水或發沒有意義的貼,一經發現馬上刪除。5 Y# ]" q& J+ u. z+ g {
, Q0 W) m5 w7 g9 D
1. 隱藏文件.svn目錄刪除了怎么辦
Checkout 后,工作空間下.svn目錄下有大量隱藏文件,占用比較大的空間,他們是工作空間的管理文件,不能刪除,如果不小心刪除了也不要抓狂,不會影響服務器端 的,重新checkout就又可以工作了。如果想不包含這些隱藏文件導出,可以用TSVN菜單里的export完成。0 Y# y4 |2 Z. ?; [1 _0 A+ w
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=13673&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
5 R- u2 v: P5 b" F7 I
2. 文件名大小寫問題,在下載代碼時,下載到一半,系統提示不能找到……文件, 提示Can't copy"……"to"……"系統找不到指定文件3 i& x2 Q8 c5 k4 i8 K
該問題很可能是因為上傳了大小寫不同的同名文件,在Repo-Browser里找到同名文件刪除一個就好了。(該問題曾經困惑過好長時間,解決了是如此簡單)/ ~+ G% T: o: h" s, a2 e
相關帖子:8 v1 ]1 K5 W6 R; j3 j; o! t- q
http://bbs.scmlife.com/viewthread.php?tid=7344&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
7 D* A" J" I& z" q% U. \" u# H
3. 為什么我的配置庫http://ip/svn無法訪問,提示沒有權限,但是通過http://ip/svn/myproject可以訪問) c; c: E* U% p0 Y+ y
在apache配置文件httpd.conf配置的只是個配置庫倉庫的虛擬目錄,物理上是不存在,即使有所有配置庫的權限也只能訪問到具體的配置庫一級
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=13616&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D186 D- t* V9 X: D' ~
4. 在安裝svn的機器上可以進行commit操作,但是通過其他機器commit出錯
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=13387&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
5. can’t connect to host …………
1,服務器有沒有運行,有沒有打開相應端口6 }( U1 }3 P* I& c" ?4 Z
如果服務器是svnserve,檢查有沒有運行svnserve,有沒有打開3690端口/ s& t1 x; S0 w& k7 i7 I2 q
如果服務器是apache,檢查apahce是否運行,是否打開80端口
檢查時可以在服務器運行netstat -na看看相應端口是否在LISTEN
2,防火墻有沒有開放相應端口. w: w- @, Y! p1 o" b7 P
3,客戶端是否可以連接服務器的相應端口
使用命令telnet 服務器IP 相應端口
如:telnet 192.168.0.1 3690" Q/ i+ K" Z0 D8 r& _1 w0 F
相關帖子:5 B. x5 B3 o' `! p) A: s
http://bbs.scmlife.com/viewthread.php?tid=10120&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18& F. H' ?6 @6 G
6. 基于svnserve的subversion服務器在新配置權限后:svnserve.conf:12: Option expected
該問題是因為subversion讀取配置文件svnserve.conf時,無法識別有前置空格的配置文件,因此在配置文件里每行前面不能有空格+ y3 r( \# g5 ~7 M, K* x- V' d
- }' X! g$ L( |
7. 怎樣才能把svn版本庫中的某一個文件或目錄永久的刪除? $ Q4 X. i6 H x; N, S7 s+ C
相關帖子:
http://bbs.scmlife.com/viewthread.php?tid=7320&extra=page%3D2%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
/ f5 x1 w7 n) J: b9 {
8. svn-怎么把authz轉換成UTF-8格式- U! r& j D x7 K
相關帖子:# T0 Y/ G0 e8 q |
http://bbs.scmlife.com/viewthread.php?tid=5166&extra=page%3D2%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D18
9. 如何從客戶端修改用戶密碼" F$ L8 N( H% H. D$ t
從客戶端修改密碼的工具見附件,apache方式
& [# L9 b: f7 o5 k
10. 提示:405 Method Not Allowed的原因和解決方法
用TortoiseSVN訪問基于apache配置的svn版本庫時,有時候會提示錯誤405 Method Not Allowed,開始用TSVN checkout了一個正常的目錄,假設服務器地址為:http://svn/project1, 之后,服務器經過其它配置,這個地址變了,使得用這個地址不再能訪問到正確的版本庫,此時,TSVN就極有可能報405錯誤。另外,當你訪問的地址大小寫 與服務器的地址不一致時,也會出現該錯誤。只要將TSVN訪問的地址改成正確的,或修改服務器配置,使原地址可以訪問即可解決。: [, ~" y( K0 C; t" d( A! _; T8 M% \
11. 執行Import操作,出錯信息:Error: Can't create directory '/storage/yslProR/db/transactions/0-1.txn': Permission denied (來自網絡)( I# z( Z5 n3 u) N% Y# j
方法:這跟linux用戶訪問目錄的權限有關。! c1 M" Z7 a9 _; ^; R' u! S6 Z- I
1)、創建apache用戶、組,useradd apache groupadd apache 8 M w9 N$ y. P% @. @+ n
2)、將用戶apache加入apache組 usermod -ggroup apache8 X6 V$ f! L& y0 J+ K9 p7 S5 u7 o
3)、修改apache的http.cont文件; l- O4 L( L( t3 N$ N& r, o
找到 User daemon# W7 l8 A3 D, m5 j
Group daemon
改為 User apache
Group apache
4)、修改只有apache用戶對SVN庫目錄有操作權限。/ |4 m( @' ?5 _, X1 q8 y+ U
chown -R apache /庫路徑) _ j4 o1 U O" [- W1 F" ]' {3 i- u
chmod 700 /庫路徑
5)、說明,如果你有apache的用戶、組就不需要創建9 B3 L/ q. a1 ?0 y; y
12. Error: Can't create directory '/svn/test/db/transactions/1-1.txn': Permission denied (來自網絡)
- @$ W, K( g8 @$ ~# C; D. c$ E3 S
方法:沒有可寫權限,chmod go+w transactions
13 .commit failed(details follow):Can't open activity db: Permission denied (來自網絡)' g! P6 j: {, K' u
4 v, S; I) r7 ]& `! E& X
方法:修改倉庫下面dav和db目錄的寫權限..
; [. z% o8 I; g: P6 c( n% o
14.如何提高TSVN的效率
相關帖子:
http://bbs.scmlife.com/thread-15308-1-1.html! t# c8 | }% @
15.在服務器可以訪問配置庫,但其他機器不可以或是有些機器可以有些不可以4 u' P3 s* N/ D' `: [/ w! S
方法:檢查一下網絡連接情況,服務器或不能訪問的機器是否因防火墻不能訪問。
: J& f; I6 N; D9 F' b* Y
16.show log只顯示no date2 y0 r8 _; B( c8 G( p
在SVN中選中一個目錄show log時,出現了某些版本只顯示版本號和(no date),沒有其他信息
原因是其他人修改了你所沒有權限訪問的某個目錄下的文件(可能發生在權限變更時,原來有權限,變更為沒有,只能看到那個目錄以前的log,權限變更后的log看不到,顯示no date)