summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/devtool/__init__.py')
-rw-r--r--scripts/lib/devtool/__init__.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py
index 20ab83f83d..07d774dfb7 100644
--- a/scripts/lib/devtool/__init__.py
+++ b/scripts/lib/devtool/__init__.py
@@ -350,3 +350,20 @@ def check_prerelease_version(ver, operation):
350 'If you prefer not to reset and re-try, you can change ' 350 'If you prefer not to reset and re-try, you can change '
351 'the version after %s succeeds using "devtool rename" ' 351 'the version after %s succeeds using "devtool rename" '
352 'with -V/--version.' % (ver, operation)) 352 'with -V/--version.' % (ver, operation))
353
354def check_git_repo_dirty(repodir):
355 """Check if a git repository is clean or not"""
356 stdout, _ = bb.process.run('git status --porcelain', cwd=repodir)
357 return stdout
358
359def check_git_repo_op(srctree, ignoredirs=None):
360 """Check if a git repository is in the middle of a rebase"""
361 stdout, _ = bb.process.run('git rev-parse --show-toplevel', cwd=srctree)
362 topleveldir = stdout.strip()
363 if ignoredirs and topleveldir in ignoredirs:
364 return
365 gitdir = os.path.join(topleveldir, '.git')
366 if os.path.exists(os.path.join(gitdir, 'rebase-merge')):
367 raise DevtoolError("Source tree %s appears to be in the middle of a rebase - please resolve this first" % srctree)
368 if os.path.exists(os.path.join(gitdir, 'rebase-apply')):
369 raise DevtoolError("Source tree %s appears to be in the middle of 'git am' or 'git apply' - please resolve this first" % srctree)