From patchwork Fri Nov 4 17:55:39 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [6/7] scripts/combo-layer: auto-commit updated config file Date: Fri, 04 Nov 2011 17:55:39 -0000 From: Paul Eggleton X-Patchwork-Id: 14299 Message-Id: <161f7b1dc39efa2a2f4041d223b0e52ee3fdf23c.1320429268.git.paul.eggleton@linux.intel.com> To: openembedded-core@lists.openembedded.org If the config file is tracked within the combo-layer repository and it is updated at the end of the "update" operation (because last_revision has been changed), then automatically commit the file. This ensures that multiple people can perform updates on different machines without the last revision information going missing. (If the file is outside the repository or is masked via .gitignore, this will do nothing.) Signed-off-by: Paul Eggleton --- scripts/combo-layer | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/scripts/combo-layer b/scripts/combo-layer index f3480dc..64ea9a9 100755 --- a/scripts/combo-layer +++ b/scripts/combo-layer @@ -230,6 +230,18 @@ def action_update(conf, args): action_apply_patch(conf, args) runcmd("rm -rf %s" % patch_dir) + # Step 7: commit the updated config file if it's being tracked + relpath = os.path.relpath(conf.conffile) + try: + output = runcmd("git status --porcelain %s" % relpath) + except: + # Outside the repository + output = None + if output: + logger.info("Committing updated configuration file") + if output.lstrip().startswith("M"): + runcmd('git commit --author="combo-layer " -m "Automatic commit to update last_revision" %s' % relpath) + def action_apply_patch(conf, args): """ apply the generated patch list to combo repo