From cc2c9e5a50abd63f42aca05f1ace0b2af07e982f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 17 Mar 2012 14:31:55 -0700 Subject: repoman: add --digest= option, bug #406875 --- bin/repoman | 10 ++++++++-- man/repoman.1 | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/bin/repoman b/bin/repoman index 80fcde29f..c5db1865f 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='', + 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 ddabbbb5b..37babcd4b 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=\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 -- cgit v1.2.3-65-gdbad