From patchwork Thu Oct 11 12:36:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: scripts/cp-noerror: Try and use hardlinks if possible Date: Thu, 11 Oct 2012 12:36:53 -0000 From: Richard Purdie X-Patchwork-Id: 38089 Message-Id: <1349959013.14368.13.camel@ted> To: openembedded-core 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. Signed-off-by: Richard Purdie --- diff --git a/scripts/cp-noerror b/scripts/cp-noerror index f0cd243..cde1b54 100755 --- a/scripts/cp-noerror +++ b/scripts/cp-noerror @@ -21,7 +21,13 @@ def copytree(src, dst, symlinks=False, ignore=None): srcname = os.path.join(src, name) dstname = os.path.join(dst, name) try: - shutil.copy2(srcname, dstname) + d = dstname + if os.path.isdir(dstname): + d = os.path.join(dstname, os.path.basename(srcname)) + try: + os.link(srcname, dstname) + except OSError: + shutil.copy2(srcname, dstname) # catch the Error from the recursive copytree so that we can # continue with other files except shutil.Error, err: