summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/lib/devtool/sdk.py10
-rwxr-xr-xscripts/oe-publish-sdk4
2 files changed, 10 insertions, 4 deletions
diff --git a/scripts/lib/devtool/sdk.py b/scripts/lib/devtool/sdk.py
index b1905f9863..a22841d789 100644
--- a/scripts/lib/devtool/sdk.py
+++ b/scripts/lib/devtool/sdk.py
@@ -186,9 +186,15 @@ def sdk_update(args, config, basepath, workspace):
186 return 0 186 return 0
187 # Update metadata 187 # Update metadata
188 logger.debug("Updating metadata via git ...") 188 logger.debug("Updating metadata via git ...")
189 # Try using 'git pull', if failed, use 'git clone' 189 #Check for the status before doing a fetch and reset
190 if os.path.exists(os.path.join(basepath, 'layers/.git')): 190 if os.path.exists(os.path.join(basepath, 'layers/.git')):
191 ret = subprocess.call("git pull %s/layers/.git" % updateserver, shell=True, cwd=layers_dir) 191 out = subprocess.check_output("git status --porcelain", shell=True, cwd=layers_dir)
192 if not out:
193 ret = subprocess.call("git fetch --all; git reset --hard", shell=True, cwd=layers_dir)
194 else:
195 logger.error("Failed to update metadata as there have been changes made to it. Aborting.");
196 logger.error("Changed files:\n%s" % out);
197 return -1
192 else: 198 else:
193 ret = -1 199 ret = -1
194 if ret != 0: 200 if ret != 0:
diff --git a/scripts/oe-publish-sdk b/scripts/oe-publish-sdk
index e6cb7af861..55872f2f93 100755
--- a/scripts/oe-publish-sdk
+++ b/scripts/oe-publish-sdk
@@ -114,9 +114,9 @@ def publish(args):
114 114
115 # Setting up the git repo 115 # Setting up the git repo
116 if not is_remote: 116 if not is_remote:
117 cmd = 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; mv .git/hooks/post-update.sample .git/hooks/post-update; fi; git add -A .; git commit -q -m "init repo" || true; git update-server-info' % (destination, destination) 117 cmd = 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; mv .git/hooks/post-update.sample .git/hooks/post-update; echo "*.pyc\n*.pyo" > .gitignore; fi; git add -A .; git config user.email "oe@oe.oe" && git config user.name "OE" && git commit -q -m "init repo" || true; git update-server-info' % (destination, destination)
118 else: 118 else:
119 cmd = "ssh %s 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; mv .git/hooks/post-update.sample .git/hooks/post-update; fi; git add -A .; git commit -q -m \"init repo\" || true; git update-server-info'" % (host, destdir, destdir) 119 cmd = "ssh %s 'set -e; mkdir -p %s/layers; cd %s/layers; if [ ! -e .git ]; then git init .; mv .git/hooks/post-update.sample .git/hooks/post-update; echo '*.pyc\n*.pyo' > .gitignore; fi; git add -A .; git config user.email 'oe@oe.oe' && git config user.name 'OE' && git commit -q -m \"init repo\" || true; git update-server-info'" % (host, destdir, destdir)
120 ret = subprocess.call(cmd, shell=True) 120 ret = subprocess.call(cmd, shell=True)
121 if ret == 0: 121 if ret == 0:
122 logger.info('SDK published successfully') 122 logger.info('SDK published successfully')