scripts/cp-noerror: Try and use hardlinks if possible
Since we generally have lots of copies of the directories created using this tool, use hardlinks where possible. This should save a little disk space and improve performance slightly. (From OE-Core rev: bfa11c028c2da093f7b4e6b7b1d611da90ae052f) (From OE-Core rev: 8c5544c2311b080bb212efb7f6b804db63e125f5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
e8338b7b14
commit
81be7c898b
|
@ -21,7 +21,15 @@ def copytree(src, dst, symlinks=False, ignore=None):
|
||||||
srcname = os.path.join(src, name)
|
srcname = os.path.join(src, name)
|
||||||
dstname = os.path.join(dst, name)
|
dstname = os.path.join(dst, name)
|
||||||
try:
|
try:
|
||||||
shutil.copy2(srcname, dstname)
|
d = dstname
|
||||||
|
if os.path.isdir(dstname):
|
||||||
|
d = os.path.join(dstname, os.path.basename(srcname))
|
||||||
|
if os.path.exists(d):
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
os.link(srcname, dstname)
|
||||||
|
except OSError:
|
||||||
|
shutil.copy2(srcname, dstname)
|
||||||
# catch the Error from the recursive copytree so that we can
|
# catch the Error from the recursive copytree so that we can
|
||||||
# continue with other files
|
# continue with other files
|
||||||
except shutil.Error, err:
|
except shutil.Error, err:
|
||||||
|
|
Loading…
Reference in New Issue