.TH SUNRISE-COMMIT 1 "13 Jul 2010" "sunrise-commit 0.3" "User Commands" .SH NAME sunrise-commit \- a Gentoo repository commit helper. .SH SYNOPSIS .B sunrise-commit [options] [--] .I .SH DESCRIPTION .B sunrise-commit is a helper script for Gentoo repository commiters. Apart from performing the actual commit, it performs the following tasks: \- performs basic integrity and QA checks on the modified packages, \- handles ChangeLog and Manifest updates, \- prepends the commit message with package name(s). The script supports CVS, GIT, Mercurial, and Subversion repositories. For the latter, it supports native checkouts as well as git-svn. Please note that when used with DVCSes, this script only performs the actual commit. (It does not push or dcommit it to the repository). However, native Subversion and CVS commits are sent directly to the remote repository (due to limitations of non-distributed VCSes). .SH OPTIONS .IP "\fB-c\fP, \fB--changelog\fP" Ignored (provided for backwards compatibility). ChangeLog entries are now created as needed. Use \fB--trivial\fP to suppress creation of ChangeLog entries. Because of the nature of DVCSes, a ChangeLog will not be created for a new ebuild in a GIT or Mercurial repository. However, if the ebuild already has a ChangeLog file, it will be updated. One consideration is that if a ChangeLog file is maintained and the repository needs to be merged after two people adjust the same ebuild, the ChangeLog will cause merge conflicts. Also, viewing a DVCS's log does not require an Internet connection. .IP "\fB-C\fP, \fB--nocolor\fP" Disable colorful output (for terminals which do not support escape sequences). .IP "\fB-d\fP, \fB--noupdate\fP" Do not update and rebase the repository before proceeding with the commit. This option only applies to Subversion and CVS repositories. It makes no sense to automatically pull from remote DVCS repositories. .IP "\fB-f\fP, \fB--force\fP" Force proceeding with the commit even if QA violations occur. With this option, errors from `\fIrepoman full\fP' will be ignored and \fB--force\fP is passed to `\fIrepoman commit\fP'. .IP "\fB-m\fP, \fB--noformat\fP" Do not prepend the commit message with package names. .IP "\fB-q\fP, \fB--quiet\fP" Ignored (provided for backwards compatibility). .IP "\fB-t\fP, \fB--trivial\fP" Assume the changes are trivial and thus do not require a ChangeLog entry. Examples of trivial changes include updating Manifests and minor correction of previous ChangeLog entries. .IP "\fB-v\fP, \fB--verbose\fP" Enable verbose output. Useful mostly for debugging. .IP "\fB-?\fP, \fB-h\fP, \fB--help\fP" Print a short help message and exit. .IP "\fB-V\fP, \fB--version\fP" Print the version string and exit. .SH ENVIRONMENT .IP ECHANGELOG_USER the committer name and e-mail as it would appear in ChangeLog. The sunrise-suggested format is: .IR "Real Name" " (" nickname ") <" e-mail > `\fInickname\fP' corresponds to the committer's IRC nickname. .SH EXAMPLES All of the following examples assume that the committer is using a native Subversion repository and that the initial working directory is the branch's or repository's root. .I "1. Adding a new ebuild:" .nf $ svn mkdir app-foo/bar $ cd app-foo/bar [...] $ svn add bar-1.ebuild $ sunrise-commit 'New ebuild for bug #nnnnnn.' .fi .I "2. Performing a version bump:" .nf $ cd app-foo/bar $ svn mv bar-1.ebuild bar-2.ebuild [...] $ sunrise-commit 'Version bump.' .fi .I "3. Fixing a broken Manifest:" .nf $ cd app-foo/bar $ sunrise-commit -t 'Fixing a broken Manifest.' .fi (\fB sunrise-commit\fP always updates the Manifest) .I "4. Removing a package which was added to gx86:" .nf $ svn rm app-foo/bar $ sunrise-commit 'in gx86.' .fi .SH "REPORTING BUGS" Please report bugs via Gentoo Bugzilla: .I http://bugs.gentoo.org/ .SH AUTHOR Michal Gorny .SH CONTRIBUTORS .IP "Nathan Phillip Brink " \- Mercurial support. .SH "SEE ALSO" .BR ebuild (5), .BR echangelog (1), .BR cvs (1), .BR git (1), .BR hg (1), .BR repoman (1), .BR svn (1)