在對liunx操作svn的方式,做了改動,使用python的,subprocess進行操作
在一中,我使用了先拉到本地,然後再建立,在進行上傳,其實在svn中可以直接建立檔案,並進行檔案複製,具體**如下
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# createdate: 2018-01-17
import os
import re
import subprocess
import locale
import sys
class svncommand(object):
def __init__(self, project):
self.cmd = ''
self.project = project
# 獲取檔案路徑
"""checkout code from svn respoitory.
:params url: svn url.
:params path: target path.
"""command = 'svn checkout ' + self.cmd
message = 'checkout code success'
subprocess.check_output(command, shell=true)
return
# 新建檔案
def crate(self):
# 新建svn目錄
project = self.cmd + '/' + self.project
command = 'svn mkdir -m "******" ' + project
print command
message = 'create file success'
subprocess.check_output(command, shell=true)
s.copyfile();
return
def copyfile(self):
targetdir = self.cmd + '/' + self.project #要複製的檔案
url = 'svn list /template' #模板檔案
address = subprocess.check_output(url, shell=true)
pri_list = address.split('\n')
print pri_list
for i in range(len(pri_list)):
sourcedir = self.cmd + "/template" + "/" + pri_list[i]
command2 = 'svn copy ' + sourcedir + ' ' + targetdir + " -m 'copy project' "
print command2
subprocess.check_output(command2, shell=true)
def update(self): #更新專案
"""update latest code.
"""self.cmd = 'svn update'
message = 'update code success'
try:
subprocess.check_output(self.cmd, shell=true)
except exception:
self.cmd = 'svn cleanup'
subprocess.check_output(self.cmd, shell=true)
self.cmd = 'svn update'
subprocess.check_output(self.cmd, shell=true)
return
# 更新svn時需要獲取svn的位址,這樣只更新自己的專案
def svncommit(self):
project = self.cmd + '/' + self.project
print u"開始提交svn位址"
command = "svn ci -m commit 'commit' " + project
print command
message = 'commit code success'
subprocess.check_output(command, shell=true)
return
if __name__ == "__main__":
s = svncommand(sys.ar**[1])
s.crate()
s.copyfile()
SVN的簡單使用
其餘的是在本地進行修改,然後進行區域性測試,要保證編譯 執行 邏輯無誤且穩定。然後再簽入提交到svn伺服器,注意要加上改動的注釋log資訊。以方便其他人員和後續人員排查錯誤。commit 簽入 上傳到svn伺服器 注意,籤入時要保證自己的 是進行過測試且穩定的,否則就不要簽入。每次簽入,如果能增加簡...
svn的簡單使用
格式 svn co 專案位址 儲存路徑 eg svn co users imac desktop 資料夾 2.提交專案到svn 2.1首先要進入到本地的專案資料夾 格式 svn ci m 上傳日誌 1.進入要提交的工程的資料夾 myproject2.0.1 即 1.1 cd 本地專案路徑 已經包含s...
svn的使用注意
既然你是剛接觸這個svn,我有幾點建議給我參考。1,不要盲目commit,不要選中整個工程,然後commit,因為有些本地檔案提交後,如.classpath檔案等,別人再update的話,別人的工程可能就報錯了。正確的做法,選中工程,team 與資源庫同步,英文我忘了,預設是team下的第乙個。這個...