[oe-commits] Richard Purdie : scripts/cp-noerror: Try and use hardlinks if possible

git at git.openembedded.org git at git.openembedded.org
Thu Oct 11 13:17:41 UTC 2012


Module: openembedded-core.git
Branch: master-next
Commit: 0eea506e667b36a5795dcd58363c52c190473631
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=0eea506e667b36a5795dcd58363c52c190473631

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Thu Oct 11 13:36:53 2012 +0100

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.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 scripts/cp-noerror |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

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:





More information about the Openembedded-commits mailing list