diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-03-24 16:17:28 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-03-26 13:17:03 +0100 |
commit | fd125cf694bebefbe9a98fd1bb199d6ca472dad5 (patch) | |
tree | 334c7e734aae58f57827b3f2aebfd325b456edb1 /scripts | |
parent | cea9c1380891a85f686cb3b5cb42b6166f38e8d5 (diff) | |
download | openembedded-core-fd125cf694bebefbe9a98fd1bb199d6ca472dad5.tar.gz openembedded-core-fd125cf694bebefbe9a98fd1bb199d6ca472dad5.tar.bz2 openembedded-core-fd125cf694bebefbe9a98fd1bb199d6ca472dad5.zip |
scripts/oe-git-archive: implement --exclude
May be used for excluding certain files from the commit.
[YOCTO #10582]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/oe-git-archive | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/oe-git-archive b/scripts/oe-git-archive index aef4ba10a7..1805ab3260 100755 --- a/scripts/oe-git-archive +++ b/scripts/oe-git-archive @@ -83,7 +83,7 @@ def init_git_repo(path, no_create, bare): return repo -def git_commit_data(repo, data_dir, branch, message): +def git_commit_data(repo, data_dir, branch, message, exclude): """Commit data into a Git repository""" log.info("Committing data into to branch %s", branch) tmp_index = os.path.join(repo.git_dir, 'index.oe-git-archive') @@ -92,6 +92,11 @@ def git_commit_data(repo, data_dir, branch, message): env_update = {'GIT_INDEX_FILE': tmp_index, 'GIT_WORK_TREE': os.path.abspath(data_dir)} repo.run_cmd('add .', env_update) + + # Remove files that are excluded + if exclude: + repo.run_cmd(['rm', '--cached'] + [f for f in exclude], env_update) + tree = repo.run_cmd('write-tree', env_update) # Create new commit object from the tree @@ -183,6 +188,9 @@ def parse_args(argv): parser.add_argument('--tag-msg-body', default='', help="Tag message body (pattern)") + parser.add_argument('--exclude', action='append', default=[], + help="Glob to exclude files from the commit. Relative " + "to DATA_DIR. May be specified multiple times") parser.add_argument('data_dir', metavar='DATA_DIR', help="Data to commit") return parser.parse_args(argv) @@ -221,7 +229,7 @@ def main(argv=None): # Commit data commit = git_commit_data(data_repo, args.data_dir, branch_name, - commit_msg) + commit_msg, args.exclude) # Create tag if tag_name: |