aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-03-17 21:31:55 (GMT)
committerZac Medico <zmedico@gentoo.org>2012-03-17 21:31:55 (GMT)
commitcc2c9e5a50abd63f42aca05f1ace0b2af07e982f (patch)
tree907393ad3b7d2a90ee48d53a1dc9e0e8d7c26472
parentrepoman: ignore temp files, bug #406877 (diff)
downloadportage-cc2c9e5a50abd63f42aca05f1ace0b2af07e982f.zip
portage-cc2c9e5a50abd63f42aca05f1ace0b2af07e982f.tar.gz
portage-cc2c9e5a50abd63f42aca05f1ace0b2af07e982f.tar.bz2
repoman: add --digest=<y|n> option, bug #406875
-rwxr-xr-xbin/repoman10
-rw-r--r--man/repoman.117
2 files changed, 24 insertions, 3 deletions
diff --git a/bin/repoman b/bin/repoman
index 80fcde2..c5db186 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -188,6 +188,10 @@ def ParseArgs(argv, qahelp):
parser.add_option('-M', '--commitmsgfile', dest='commitmsgfile',
help='specify a path to a file that contains a commit message')
+ parser.add_option('--digest',
+ type='choice', choices=('y', 'n'), metavar='<y|n>',
+ help='Automatically update Manifest digests for modified files')
+
parser.add_option('-p', '--pretend', dest='pretend', default=False,
action='store_true', help='don\'t commit or fix anything; just show what would be done')
@@ -656,6 +660,9 @@ if vcs is None:
# TODO: shouldn't this just be switched on the repo, iso the VCS?
check_changelog = options.echangelog not in ('y', 'force') and vcs in ('cvs', 'svn')
+if 'digest' in repoman_settings.features and options.digest != 'n':
+ options.digest = 'y'
+
logging.debug("vcs: %s" % (vcs,))
logging.debug("repo config: %s" % (repo_config,))
logging.debug("options: %s" % (options,))
@@ -1236,8 +1243,7 @@ for x in effective_scanlist:
generated_manifest = False
if options.mode == "manifest" or \
- (options.mode != 'manifest-check' and \
- 'digest' in repoman_settings.features) or \
+ (options.mode != 'manifest-check' and options.digest == 'y') or \
options.mode in ('commit', 'fix') and not options.pretend:
auto_assumed = set()
fetchlist_dict = portage.FetchlistDict(checkdir,
diff --git a/man/repoman.1 b/man/repoman.1
index ddabbbb..37babcd 100644
--- a/man/repoman.1
+++ b/man/repoman.1
@@ -1,4 +1,4 @@
-.TH "REPOMAN" "1" "Feb 2012" "Portage VERSION" "Portage"
+.TH "REPOMAN" "1" "Mar 2012" "Portage VERSION" "Portage"
.SH NAME
repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
.SH SYNOPSIS
@@ -15,6 +15,21 @@ Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or subversion
\fB-a\fR, \fB--ask\fR
Request a confirmation before commiting
.TP
+\fB\-\-digest=<y|n>\fR
+Automatically update Manifest digests for modified files. This
+option triggers a behavior that is very similar to that enabled
+by FEATURES="digest" in \fBmake.conf\fR(5). In order to enable
+this behavior by default for repoman alone, add
+\fB\-\-digest=y\fR to the \fIREPOMAN_DEFAULT_OPTS\fR variable in
+\fBmake.conf\fR(5). The \fBmanifest\-check\fR mode will
+automatically ignore the \-\-digest option.
+
+\fBNOTE:\fR
+This option does not trigger update of digests for Manifest DIST
+entries that already exist. Replacement of existing Manifest
+DIST entries can be forced by using the \fBmanifest\fR mode
+together with the \fB\-\-force\fR option.
+.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