[oe-commits] [openembedded-core] 16/23: scripts/oe-git-archive: implement --notes

git at git.openembedded.org git at git.openembedded.org
Sun Mar 26 12:17:37 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 0ef7c143262a441c38235ea71832ca7714ce4a35
Author: Markus Lehtonen <markus.lehtonen at linux.intel.com>
AuthorDate: Fri Mar 24 16:17:29 2017 +0200

    scripts/oe-git-archive: implement --notes
    
    Option for adding git-notes to the commit.
    
    [YOCTO #10582]
    
    Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 scripts/oe-git-archive | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/scripts/oe-git-archive b/scripts/oe-git-archive
index 1805ab3..ab19cb9 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, exclude):
+def git_commit_data(repo, data_dir, branch, message, exclude, notes):
     """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')
@@ -106,6 +106,12 @@ def git_commit_data(repo, data_dir, branch, message, exclude):
             git_cmd += ['-p', parent]
         commit = repo.run_cmd(git_cmd, env_update)
 
+        # Create git notes
+        for ref, filename in notes:
+            ref = ref.format(branch_name=branch)
+            repo.run_cmd(['notes', '--ref', ref, 'add',
+                          '-F', os.path.abspath(filename), commit])
+
         # Update branch head
         git_cmd = ['update-ref', 'refs/heads/' + branch, commit]
         if parent:
@@ -191,6 +197,13 @@ def parse_args(argv):
     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('--notes', nargs=2, action='append', default=[],
+                        metavar=('GIT_REF', 'FILE'),
+                        help="Add a file as a note under refs/notes/GIT_REF. "
+                             "{branch_name} in GIT_REF will be expanded to the "
+                             "actual target branch name (specified by "
+                             "--branch-name). This option may be specified "
+                             "multiple times.")
     parser.add_argument('data_dir', metavar='DATA_DIR',
                         help="Data to commit")
     return parser.parse_args(argv)
@@ -229,7 +242,7 @@ def main(argv=None):
 
         # Commit data
         commit = git_commit_data(data_repo, args.data_dir, branch_name,
-                                 commit_msg, args.exclude)
+                                 commit_msg, args.exclude, args.notes)
 
         # Create tag
         if tag_name:
@@ -242,7 +255,9 @@ def main(argv=None):
             # If no remote is given we push with the default settings from
             # gitconfig
             if args.push is not True:
-                cmd.extend([args.push, branch_name])
+                notes_refs = ['refs/notes/' + ref.format(branch_name=branch_name)
+                                for ref, _ in args.notes]
+                cmd.extend([args.push, branch_name] + notes_refs)
             log.info("Pushing data to remote")
             data_repo.run_cmd(cmd)
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list