From f7b7157a4608d19d9bde97537df7d033cc5896f1 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 3 Dec 2008 08:22:10 +0000 Subject: It's not safe to use the git commit -a option since there might be some modified files elsewhere in the working tree that the user doesn't want to commit. Therefore, call git update-index in order to ensure that the index is updated with the latest versions of all new and modified files in the relevant portion of the working tree. svn path=/main/trunk/; revision=12142 --- bin/repoman | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'bin/repoman') diff --git a/bin/repoman b/bin/repoman index d773419b9..9dc6ed6c9 100755 --- a/bin/repoman +++ b/bin/repoman @@ -1764,6 +1764,8 @@ else: mymanifests.add(f) else: myupdates.add(f) + if vcs == 'git': + myupdates.difference_update(myremoved) myupdates = list(myupdates) mymanifests = list(mymanifests) myheaders = [] @@ -2058,6 +2060,27 @@ else: portage.writemsg("!!! Disabled FEATURES='sign'\n") signed = False + if vcs == 'git': + # It's not safe to use the git commit -a option since there might + # be some modified files elsewhere in the working tree that the + # user doesn't want to commit. Therefore, call git update-index + # in order to ensure that the index is updated with the latest + # versions of all new and modified files in the relevant portion + # of the working tree. + myfiles = mymanifests + myupdates + myfiles.sort() + update_index_cmd = ["git", "update-index"] + update_index_cmd.extend(f.lstrip("./") for f in myfiles) + if options.pretend: + print "(%s)" % (" ".join(update_index_cmd),) + else: + retval = spawn(update_index_cmd, env=os.environ) + if retval != os.EX_OK: + writemsg_level(("!!! Exiting on %s (shell) " + \ + "error code: %s\n") % (vcs, retval), + level=logging.ERROR, noiselevel=-1) + sys.exit(retval) + if vcs == 'git' or manifest_commit_required or signed: myfiles = mymanifests[:] -- cgit v1.2.3-1-g7c22