mirror of
https://github.com/openSUSE/osc.git
synced 2025-02-26 04:02:11 +01:00
parent
6781119d43
commit
dbfcb32435
48
osc/core.py
48
osc/core.py
@ -1353,16 +1353,30 @@ def make_diff(wc, revision):
|
|||||||
cmp_pac = None
|
cmp_pac = None
|
||||||
diff_hdr = 'Index: %s\n'
|
diff_hdr = 'Index: %s\n'
|
||||||
diff_hdr += '===================================================================\n'
|
diff_hdr += '===================================================================\n'
|
||||||
|
diff = []
|
||||||
if not revision:
|
if not revision:
|
||||||
# normal diff
|
# normal diff
|
||||||
for file in wc.filenamelist+wc.filenamelist_unvers:
|
if wc.todo:
|
||||||
state = wc.status(file)
|
for file in wc.todo:
|
||||||
if state == 'M' or state == 'C':
|
if file in wc.filenamelist+wc.filenamelist_unvers:
|
||||||
changed_files.append(file)
|
state = wc.status(file)
|
||||||
elif state == 'A':
|
if state == 'A':
|
||||||
added_files.append(file)
|
added_files.append(file)
|
||||||
elif state == 'D':
|
elif state == 'D':
|
||||||
removed_files.append(file)
|
removed_files.append(file)
|
||||||
|
elif state == 'M' or state == 'C':
|
||||||
|
changed_files.append(file)
|
||||||
|
else:
|
||||||
|
diff.append('osc: \'%s\' is not under version control' % file)
|
||||||
|
else:
|
||||||
|
for file in wc.filenamelist+wc.filenamelist_unvers:
|
||||||
|
state = wc.status(file)
|
||||||
|
if state == 'M' or state == 'C':
|
||||||
|
changed_files.append(file)
|
||||||
|
elif state == 'A':
|
||||||
|
added_files.append(file)
|
||||||
|
elif state == 'D':
|
||||||
|
removed_files.append(file)
|
||||||
else:
|
else:
|
||||||
olddir = os.getcwd()
|
olddir = os.getcwd()
|
||||||
tmpdir = tempfile.mkdtemp(revision, wc.name, '/tmp')
|
tmpdir = tempfile.mkdtemp(revision, wc.name, '/tmp')
|
||||||
@ -1372,18 +1386,20 @@ def make_diff(wc, revision):
|
|||||||
if wc.todo:
|
if wc.todo:
|
||||||
for file in wc.todo:
|
for file in wc.todo:
|
||||||
if file in cmp_pac.filenamelist:
|
if file in cmp_pac.filenamelist:
|
||||||
changed_files.append(file)
|
if file in wc.filenamelist:
|
||||||
# behave like svn
|
changed_files.append(file)
|
||||||
#else:
|
else:
|
||||||
# added_files.append(file)
|
diff.append('osc: \'%s\' is not under version control' % file)
|
||||||
|
else:
|
||||||
|
diff.append('osc: unable to find \'%s\' in revision %s' % (file, cmp_pac.rev))
|
||||||
else:
|
else:
|
||||||
for file in wc.filenamelist+wc.filenamelist_unvers:
|
for file in wc.filenamelist+wc.filenamelist_unvers:
|
||||||
state = wc.status(file)
|
state = wc.status(file)
|
||||||
if wc.status(file) == 'A' and (not file in cmp_pac.filenamelist):
|
if state == 'A' and (not file in cmp_pac.filenamelist):
|
||||||
added_files.append(file)
|
added_files.append(file)
|
||||||
elif file in cmp_pac.filenamelist and wc.status(file) == 'D':
|
elif file in cmp_pac.filenamelist and state == 'D':
|
||||||
removed_files.append(file)
|
removed_files.append(file)
|
||||||
elif wc.status(file) == ' ' and not file in cmp_pac.filenamelist:
|
elif state == ' ' and not file in cmp_pac.filenamelist:
|
||||||
added_files.append(file)
|
added_files.append(file)
|
||||||
elif file in cmp_pac.filenamelist and state != 'A' and state != '?':
|
elif file in cmp_pac.filenamelist and state != 'A' and state != '?':
|
||||||
if dgst(os.path.join(wc.absdir, file)) != cmp_pac.findfilebyname(file).md5:
|
if dgst(os.path.join(wc.absdir, file)) != cmp_pac.findfilebyname(file).md5:
|
||||||
@ -1391,8 +1407,8 @@ def make_diff(wc, revision):
|
|||||||
for file in cmp_pac.filenamelist:
|
for file in cmp_pac.filenamelist:
|
||||||
if not file in wc.filenamelist:
|
if not file in wc.filenamelist:
|
||||||
removed_files.append(file)
|
removed_files.append(file)
|
||||||
|
removed_files = set(removed_files)
|
||||||
|
|
||||||
diff = []
|
|
||||||
for file in changed_files:
|
for file in changed_files:
|
||||||
diff.append(diff_hdr % file)
|
diff.append(diff_hdr % file)
|
||||||
if cmp_pac == None:
|
if cmp_pac == None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user