debinstall #63984 ldi publish crash if the destination file exist [validation pending]
When usgin ldi publish, if a destination file exists, ldi just crahs with a traceback like: Traceback (most recent call last): File "/usr/bin/ldi", line 4, in <module> ldi.run() File "/usr/lib/pymodules/python2.6/debinstall/ldi.py", line 70, in run LDI.run(sys.argv[1:]) File "/usr/lib/pymodules/python2.6/logilab/common/clcommands.py", line 128, in run sys.exit(command.main_run(args, rcfile)) File "/usr/lib/pymodules/python2.6/logilab/common/clcommands.py", line 257, in main_run self.run(args) File "/usr/lib/pymodules/python2.6/debinstall/ldi.py", line 352, in run self.config.publish_group, rm=True) File "/usr/lib/pymodules/python2.6/debinstall/ldi.py", line 291, in process_changes_file move_(filename, distribdir) File "/usr/lib/pymodules/python2.6/logilab/common/shellutils.py", line 133, in cp mv(source, destination, _action=shutil.copy) File "/usr/lib/pymodules/python2.6/logilab/common/shellutils.py", line 116, in mv source, destination, ex)) OSError: Unable to move u'/home/logilab/repositories/extranet/incoming/lenny/package_0.23.1.orig.tar.gz' to u'/home/logilab/repositories/extranet/dists/lenny/cpackage_0.23.1.orig.tar.gz' ([Errno 1] Operation not permitted: '/home/logilab/repositories/extrane/dists/lenny/package_0.23.1.orig.tar.gz') The fact that ldi do not silently overwrite the destination file is a good thing, but it should warn the user instead of crashing with a traceback. | |
priority | normal |
---|---|
type | bug |
done in | 2.5.0 |
load | 0.100 |
load left | 0.000 |
closed by | #d6cc3ff77873 publish: add a force option to overwrite existing files (closes #63984, #63985) |