使用python 的svn,二

2021-10-01 17:16:57 字數 2373 閱讀 2723

在對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下的第乙個。這個...