Python ClearCase 下载 Vobs Popen 密码 BASH 程序粗略
Python ClearCase Download Vobs Popen Password BASH Program Sketchy
我昨天编写了这个程序,除了由 CRON 运行时,它实际上可以正常工作。今天,我运行了相同的脚本,但它不起作用。该脚本将在没有任何回溯错误的情况下运行,并且它将从 ClearCase 视图复制顶级文件夹 (vob),但不会复制目标文件夹下的文件夹和文件中的任何实际重要数据。
这是我的 Python 脚本。
def obtainCode(view="My_VIEW", folder="/my_folder"):
"""Download code from ClearCase's File System and put it on the hard-drive"""
dest = '/etc/foo'
password = 'passwords'
v1 = subprocess.Popen(['cleartool', 'setview', view], shell=True, stdout=subprocess.PIPE)
print "v1 = ", v1
print "view maybe set :/"
c1 = subprocess.Popen(['sudo', '-p', '', '-S', 'cp', '-r', folder, dest], stdin=subprocess.PIPE)
c1.stdin.write(password + '\n')
c1.stdin.close()
c1.wait()
#### Close View and Stop Processes ####
v2 = subprocess.Popen(['cleartool', 'endview', view], shell=True, stdin=v1.stdout, stdout=subprocess.PIPE)
v2.kill()
v1.kill()
有谁知道:
1) 出了什么问题 2) 为什么昨天可以用,今天不行 3) 有更好的方法吗?
感谢您的时间和关注。
尽量不要使用 setview
。
您不需要它,您可以使用视图的完整路径。
cleartool startview yourDynamicView
cd /view/yourDynamicView/vobs/yourVob
我之前提到过使用 setview ("Python and ClearCase setview") 的危险。
它在您的子流程中创建一个子流程,此处不需要。
我昨天编写了这个程序,除了由 CRON 运行时,它实际上可以正常工作。今天,我运行了相同的脚本,但它不起作用。该脚本将在没有任何回溯错误的情况下运行,并且它将从 ClearCase 视图复制顶级文件夹 (vob),但不会复制目标文件夹下的文件夹和文件中的任何实际重要数据。
这是我的 Python 脚本。
def obtainCode(view="My_VIEW", folder="/my_folder"):
"""Download code from ClearCase's File System and put it on the hard-drive"""
dest = '/etc/foo'
password = 'passwords'
v1 = subprocess.Popen(['cleartool', 'setview', view], shell=True, stdout=subprocess.PIPE)
print "v1 = ", v1
print "view maybe set :/"
c1 = subprocess.Popen(['sudo', '-p', '', '-S', 'cp', '-r', folder, dest], stdin=subprocess.PIPE)
c1.stdin.write(password + '\n')
c1.stdin.close()
c1.wait()
#### Close View and Stop Processes ####
v2 = subprocess.Popen(['cleartool', 'endview', view], shell=True, stdin=v1.stdout, stdout=subprocess.PIPE)
v2.kill()
v1.kill()
有谁知道: 1) 出了什么问题 2) 为什么昨天可以用,今天不行 3) 有更好的方法吗?
感谢您的时间和关注。
尽量不要使用 setview
。
您不需要它,您可以使用视图的完整路径。
cleartool startview yourDynamicView
cd /view/yourDynamicView/vobs/yourVob
我之前提到过使用 setview ("Python and ClearCase setview") 的危险。
它在您的子流程中创建一个子流程,此处不需要。