diff options
-rw-r--r-- | scripts/lib/devtool/sdk.py | 10 | ||||
-rwxr-xr-x | scripts/oe-publish-sdk | 4 |
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') |