summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/repoman8
-rw-r--r--man/repoman.13
2 files changed, 11 insertions, 0 deletions
diff --git a/bin/repoman b/bin/repoman
index f14dc4533..3532c4b2b 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -52,6 +52,7 @@ from repoman import utilities
from repoman.herdbase import make_herd_base
from _emerge.Package import Package
from _emerge.RootConfig import RootConfig
+from _emerge.userquery import userquery
import portage.checksum
import portage.const
import portage.dep
@@ -163,6 +164,9 @@ def ParseArgs(args, qahelp):
parser.description += "\nDistributed under the terms of the GNU General Public License v2"
parser.description += "\nmodes: " + " | ".join(map(green,mode_keys))
+ parser.add_option('-a', '--ask', dest='ask',
+ help='Request a confirmation before commiting')
+
parser.add_option('-m', '--commitmsg', dest='commitmsg',
help='specify a commit message on the command line')
@@ -2276,6 +2280,10 @@ else:
commitmessage += ", RepoMan options: --force"
commitmessage += ")"
+ if options.ask and userquery('Commit changes?', True) != 'Yes':
+ print("* aborting commit.")
+ sys.exit(1)
+
if vcs in ('cvs', 'svn') and (myupdates or myremoved):
myfiles = myupdates + myremoved
if not myheaders and "sign" not in repoman_settings.features:
diff --git a/man/repoman.1 b/man/repoman.1
index aec8b7adb..362e6e538 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -12,6 +12,9 @@ checks the quality of ebuild repositories.
Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or subversion repositories.
.SH OPTIONS
.TP
+\fB-a\fR, \fB--ask\fR
+Request a confirmation before commiting
+.TP
\fB--force\fR
Force commit to proceed, regardless of QA issues. For convenience, this option
causes the most time consuming QA checks to be skipped. The commit message will