[YOCTO #15243]

Avoid overwriting local changes when running patchtest by checking for
anything unstaged or uncommitted in the target repo, and logging an
error if something is found. This will provide the user helpful feedback
if (for example) they forgot to commit a change for their patch under
test, and will leave the target repository in a reasonable state (rather
than a temporary branch created by patchtest).

Signed-off-by: Trevor Gamblin <tgamb...@baylibre.com>
---
 scripts/patchtest | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/scripts/patchtest b/scripts/patchtest
index 642486b8c7f..be40e4b2a47 100755
--- a/scripts/patchtest
+++ b/scripts/patchtest
@@ -171,6 +171,12 @@ def main():
     log_path = None
     patch_list = None
 
+    git_status = os.popen("(cd %s && git status)" % 
PatchTestInput.repodir).read()
+    status_matches = ["Changes not staged for commit", "Changes to be 
committed"]
+    if any([match in git_status for match in status_matches]):
+        logger.error("patchtest: there are uncommitted changes in the target 
repo that would be overwritten. Please commit or restore them before running 
patchtest")
+        return 1
+
     if os.path.isdir(patch_path):
         patch_list = [os.path.join(patch_path, filename) for filename in 
os.listdir(patch_path)]
     else:
-- 
2.41.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#189461): 
https://lists.openembedded.org/g/openembedded-core/message/189461
Mute This Topic: https://lists.openembedded.org/mt/102060207/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to