資源描述:
《B S實現(xiàn)遠程配置SVN》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、B/S實現(xiàn)遠程配置SVN?2008-12-26作者:dyerac來源:blogjava.net?最近在嘗試做一個類似sourceforge的開源社區(qū),因此需要為項目申請者提供遠程SVN的配置。這里列出自己的代碼和心得,一是為了與大家相互交流,更重要的是為了讓各位提提意見,看看還需要什么內(nèi)容?,F(xiàn)在提供的功能有:為項目創(chuàng)建svn倉庫,修改svn賬戶密碼,修改svn權(quán)限配置等。大家覺得還需要什么呢?代碼如下:首先定義一個異常:packagecommandLineTest;classSvnExceptionextendsException{publicSv
2、nException(Strings){super(s);}}下面是對svn的操作: packagecommandLineTest;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStr
3、eamReader;publicclassSvnCommander{privateStringsvn_home="K:/subversion-repository/";/***//***為指定項目在服務器創(chuàng)建svn倉庫,當用戶選擇開通svn服務時,這個方法將被調(diào)用為用戶的項目創(chuàng)建svn倉庫**@paramproject*需要創(chuàng)建svn倉庫的項目的名稱*@throwsSvnException*當創(chuàng)建失敗時將拋出錯誤*/publicvoidcreateRepository(Stringproject)throwsSvnException{try{Pro
4、cessp=newProcessBuilder("svnadmin","create",svn_home+project).start();StringBufferbuffer=newStringBuffer();Stringtmp;//BufferedReaderreader=newBufferedReader(new//InputStreamReader(p.getInputStream()));//while((tmp=reader.readLine())!=null)//buffer.append(tmp);//System.out.pri
5、ntln(buffer.toString());//buffer=newStringBuffer();BufferedReaderreader=newBufferedReader(newInputStreamReader(p.getErrorStream()));while((tmp=reader.readLine())!=null)buffer.append(tmp);//System.err.println(buffer.toString());if(buffer.length()>0)thrownewSvnException(buffer.t
6、oString());initSvnServer(project);initAuthz(project);}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}/***//***用于修改svn倉庫的svnserve.conf配置文件,這個方法將在@linkcreateRepository(Stringname)*中被自動調(diào)用,不建議被其他類調(diào)用**@paramproject*svn倉庫對應的項目名稱*@throwsSvnException*當用戶所在的項目并
7、沒有開通svn服務,或者修改svnserve.conf文件出現(xiàn)io錯誤時將拋出SvnException*/publicvoidinitSvnServer(Stringproject)throwsSvnException{Filesvnserve=newFile(svn_home+project+"/conf/svnserve.conf");try{BufferedReaderreader=newBufferedReader(newFileReader(svnserve));StringBufferbuffer=newStringBuffer();S
8、tringtmp;while((tmp=reader.readLine())!=null)buffer.append(tm