* src/VersionControl.py
Sort revision numbers based on numerical value instead of ASCII value. * src/VersionControl.py Check return values of all subprocesses svn: r1659
This commit is contained in:
parent
69eabdf997
commit
3320368e7f
@ -30,8 +30,10 @@ import shutil
|
|||||||
import const
|
import const
|
||||||
import Utils
|
import Utils
|
||||||
import ListModel
|
import ListModel
|
||||||
|
import cStringIO
|
||||||
|
|
||||||
from re import compile
|
from re import compile
|
||||||
|
from QuestionDialog import ErrorDialog
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -112,14 +114,18 @@ class RevisionSelect:
|
|||||||
self.revlist = dialog.get_widget("revlist")
|
self.revlist = dialog.get_widget("revlist")
|
||||||
l = self.vc.revision_list()
|
l = self.vc.revision_list()
|
||||||
|
|
||||||
titles = [(_('Revision'),0,100),(_('Date'),1,100), (_('Changed by'),2,100),
|
titles = [(_('Revision'),4,100),(_('Date'),1,100), (_('Changed by'),2,100),
|
||||||
('Comment',3,100)]
|
(_('Comment'),3,100), ('',0,0)]
|
||||||
|
|
||||||
self.model = ListModel.ListModel(self.revlist,titles)
|
self.model = ListModel.ListModel(self.revlist,titles)
|
||||||
|
|
||||||
index = 0
|
index = 0
|
||||||
for f in l:
|
for f in l:
|
||||||
self.model.add([f[0],f[1],f[3],f[2]],f[0])
|
a = f[0].split('.')
|
||||||
|
revsort = ''
|
||||||
|
for v in a:
|
||||||
|
revsort = "%s.%06d" % (revsort,int(a[0]))
|
||||||
|
self.model.add([f[0],f[1],f[3],f[2],revsort],f[0])
|
||||||
|
|
||||||
def on_cancel_clicked(self,obj):
|
def on_cancel_clicked(self,obj):
|
||||||
Utils.destroy_passed_object(obj)
|
Utils.destroy_passed_object(obj)
|
||||||
@ -166,7 +172,7 @@ class VersionControl:
|
|||||||
|
|
||||||
version - string representing the version to extract
|
version - string representing the version to extract
|
||||||
target - file to extract to"""
|
target - file to extract to"""
|
||||||
pass
|
return None
|
||||||
|
|
||||||
class RcsVersionControl(VersionControl):
|
class RcsVersionControl(VersionControl):
|
||||||
"""RCS (Revision Control System) based version control interface"""
|
"""RCS (Revision Control System) based version control interface"""
|
||||||
@ -191,9 +197,14 @@ class RcsVersionControl(VersionControl):
|
|||||||
l = []
|
l = []
|
||||||
o = None
|
o = None
|
||||||
d = None
|
d = None
|
||||||
r,w = popen2.popen2("rlog %s" % self.vfile)
|
proc = popen2.Popen3("rlog %s" % self.tfile,1)
|
||||||
|
proc.tochild.close()
|
||||||
|
status = proc.wait()
|
||||||
|
if status:
|
||||||
|
ErrorDialog("Error acessing revision control",proc.childerr.read())
|
||||||
|
return rlist
|
||||||
|
|
||||||
for line in r.readlines():
|
for line in proc.fromchild.readlines():
|
||||||
line = string.rstrip(line)
|
line = string.rstrip(line)
|
||||||
|
|
||||||
if sname == 1:
|
if sname == 1:
|
||||||
@ -267,8 +278,20 @@ class RcsVersionControl(VersionControl):
|
|||||||
"""Extracts the requested version from the RCS database
|
"""Extracts the requested version from the RCS database
|
||||||
version_id - string containing the version to be extracted
|
version_id - string containing the version to be extracted
|
||||||
target - file to extract the file to."""
|
target - file to extract the file to."""
|
||||||
r,w,e = popen2.popen3("co -p%s %s" % (version_id,self.vfile))
|
|
||||||
return r
|
process = popen2.Popen3("co -p%s %s" % (version_id,self.vfile),1)
|
||||||
|
output = cStringIO.StringIO()
|
||||||
|
output.write(process.fromchild.read())
|
||||||
|
output.seek(0)
|
||||||
|
data = process.childerr.read()
|
||||||
|
status = process.wait()
|
||||||
|
process.tochild.close()
|
||||||
|
process.fromchild.close()
|
||||||
|
process.childerr.close()
|
||||||
|
|
||||||
|
if status != 0:
|
||||||
|
ErrorDialog(_("Could not retrieve version"),data)
|
||||||
|
return output
|
||||||
|
|
||||||
_version_control_list = [(RcsVersionControl, _("RCS"))]
|
_version_control_list = [(RcsVersionControl, _("RCS"))]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user