From 95fee1d42e537209727d9493d1ea3784a8af310a Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sun, 16 Nov 2014 18:58:40 -0500 Subject: all: update for Git - rewrite .gitignore to use git patterns - mv hg(1) to git(1) and rewrite - add lib/git/commit-msg.hook - add skeleton codereview script - update codereview(1) Change-Id: I061cd8e4de77ebbd6037a7c5d1582cd1d986f62f --- man/man1/codereview.1 | 182 ++++++++++++++++++++++++++++++++++++-------------- man/man1/git.1 | 89 ++++++++++++++++++++++++ man/man1/hg.1 | 111 ------------------------------ 3 files changed, 222 insertions(+), 160 deletions(-) create mode 100644 man/man1/git.1 delete mode 100644 man/man1/hg.1 (limited to 'man') diff --git a/man/man1/codereview.1 b/man/man1/codereview.1 index 86d07b29..0b713c45 100644 --- a/man/man1/codereview.1 +++ b/man/man1/codereview.1 @@ -2,70 +2,154 @@ .SH NAME codereview \- review of submitted changes (experimental) .SH SYNOPSIS -.B hg +.B git .B diff +.B HEAD .I path ... .PP .B codereview -.I path ... +[ +.B -v +] +.B create +.I name +[ +.B -a +] .PP .B codereview -.B -i -.I issue -.I path ... +[ +.B -v +] +.B commit +[ +.B -a +] +.PP +.B codereview +[ +.B -v +] +.B upload +.PP +.B codereview +[ +.B -v +] +.B pending +.PP +.B codereview +[ +.B -v +] +.B sync .SH DESCRIPTION .I Codereview -uploads suggested changes to the code review server -.I codereview.appspot.com -and sends email to reviewers. +manages the review and submission of changes to the Plan 9 from User Space project. It must be used from within a Plan 9 from User Space tree -checked out via Mercurial +checked out via Git (see -.IR hg (1)). +.IR git (1)). .PP -A developer makes changes to a local copy of the tree -and reviews them locally using -.I hg -.I diff . -When the changes are ready for external review, the -developer creates a review issue by running +A developer makes changes to a local copy of the tree, +reviews them by using +.I git +.I diff +.IR HEAD +and then commits them to a ``feature branch'' +using .I codereview -naming the files to be reviewed. -.I Codereview -prompts for a Google Accounts user name -and password to log in to -.I http://codereview.appspot.com/ -and create a new review issue. -Once created, it prints a line like -.EX -Issue created. URL: http://codereview.appspot.com/96161 -.EE -among other output. +.IR create . +.I Git +requires that changes be added to a ``staging area'' before the initial commit, +using commands such as +.I git +.I add +and +.I git +.IR rm . +The +.B -a +option causes +.I codereview +.I create +to add all local modifications to the staging area as part of the initial commit. .PP -The reviewer will likely respond with comments -and suggestions for improving the submission. -After making the changes, reupload by repeating -the +Once a feature branch is created, files can still be edited, but they must then be +incorporated into the change by using .I codereview -command with the -.B -i -option to specify the issue number -(in the above example, 96161). +.IR commit . +.PP +If other changes have been committed since the feature branch was created, +.I codereview +.I sync +will update it to be based on the most recent copy of the repository. +.PP +When the code is ready for review, +.I codereview +.I upload +uploads the change to +.HR https://plan9port-review.googlesource.com/ +for review. +In order to upload, +.I git +must have access to a +.I $HOME/.netrc +that contains a password obtained from +.HR https://plan9port-review.googlesource.com/#/settings/http-password . +.PP +The most likely initial result of a code review is suggestions for +improving the code. +After making those changes, repeat the +.I codereview +.I commit +and +.I codereview +.I upload +steps. +.PP +Once the code is ready, it will be submitted by the reviewer using the web interface. +At that point, +.I codereview +.I sync .PP -Once the reviewer accepts the changes, they will be applied -automatically using the patch uploaded to the review server. -To update the local tree, run -.I hg -.I pull -with the -.B -u -option. -.SH SEE ALSO -.HR http://codereview.appspot.com/ -.SH BUGS The .I codereview -command should be replaced by a proper Mercurial extension. +.I pending +command lists the active feature branches. +.PP +All the +.I codereview +commands take a leading +.B -v +option, which causes them to print +.I git +commands being executed. +This can be useful for debugging +.IR codereview . .PP -Making changes to the repository via patches -discards the executable bit on new shell scripts. +The +.I codereview +command depends on a +.I git +``commit hook'' +script being in place to add +.L Change-Id +lines to the commit messages. +.I Codereview +installs the hook at startup, if necessary, +by adding a symbolic link from +.B $PLAN9/.git/hooks/commit-msg +to +.BR $PLAN9/lib/git/commit-msg.hook . +.SH SEE ALSO +.IR git (1), +.HR http://plan9port-review.googlesource.com/ +.SH BUGS +.I Git +is too complicated to use. +The +.I codereview +script helps, but a working understanding of +.I git +is still required. diff --git a/man/man1/git.1 b/man/man1/git.1 new file mode 100644 index 00000000..2cedace7 --- /dev/null +++ b/man/man1/git.1 @@ -0,0 +1,89 @@ +.TH HG 1 +.SH NAME +git, hg, cvs \- introduction to using plan9port Git repository +.SH SYNOPSIS +.B git +.B clone +.B http://code.swtch.com/plan9port +.B plan9 +.PP +.B git +.B pull +.PP +.B git +.B diff +.I revision +[ +.I path ... +] +.PP +.B gitk +.PP +.B web +.B http://code.swtch.com/plan9port +.SH DESCRIPTION +The master source tree for Plan 9 from User Space is maintained +using the source control system Git +as a substitute for Plan 9's +\fIreplica\fR(8) and dump file system. +.PP +The first argument to +.I git +is a command, which determines the form of the rest of the command line. +.PP +The +.B clone +command downloads a copy of the tree into the directory +.BR plan9 , +which it will create. +After +.B git +.BR clone , +the other commands listed +should be run within the +.B plan9 +directory tree. +.PP +Git downloads the entire revision history +of Plan 9 from User Space +in addition to the current tree. +.PP +.I Git +.I pull +incorporates changes from the master repository +into the local revision history and applies them to the +current file tree. +.PP +.I Git +.I diff +runs Unix's +.IR diff (1) +to compare the files in the local tree with the corresponding +files in the revision history. +The special revision +.B HEAD +refers to the most recent version in the version history. +.PP +.I Gitk +starts an interactive history viewer. +.PP +The Git tree can be inspected on the web at +.HR http://code.swtch.com/plan9port/ "" . +.SH FILES +.TP +.B \*9/.git +directory containing Mercurial local repository +.TP +.B .gitignore +list of files and wildcards to exclude from Git operations +.SH SEE ALSO +.IR codereview (1) +.PP +Unix's +\fIgit\fR(1), +.HR http://git-scm.com/doc +.PP +.HR http://code.swtch.com/plan9port/ +.SH BUGS +Plan 9 from User Space is no longer accessible using CVS or Mercurial; +you must use Git. diff --git a/man/man1/hg.1 b/man/man1/hg.1 deleted file mode 100644 index b46dfc1b..00000000 --- a/man/man1/hg.1 +++ /dev/null @@ -1,111 +0,0 @@ -.TH HG 1 -.SH NAME -hg, cvs \- introduction to using plan9port Mercurial repository -.SH SYNOPSIS -.B hg -.B clone -.B http://code.swtch.com/plan9port -.B plan9 -.PP -.B hg -.B pull -.B -u -.PP -.B hg -.B diff -[ -.B -r -.I revision -] -[ -.I path ... -] -.PP -.B hg -.B serve -.PP -.B hg -.B view -.PP -.B web -.B http://code.swtch.com/plan9port -.SH DESCRIPTION -The master source tree for Plan 9 from User Space is maintained -using the source control system Mercurial -as a substitute for Plan 9's -\fIreplica\fR(8) and dump file system. -.PP -The first argument to -.I hg -is a command, which determines the form of the rest of the command line. -.PP -The -.B clone -command downloads a copy of the tree into the directory -.BR plan9 , -which it will create. -After -.B hg -.BR clone , -the other commands listed -should be run within the -.B plan9 -directory tree. -.PP -Unlike CVS, Mercurial downloads the entire revision history -of Plan 9 from User Space -in addition to the current tree. -.PP -.I Hg -.I pull -incorporates changes from the master repository -into the local revision history. -The -.B -u -flag applies these changes to the current file tree. -.PP -.I Hg -.I diff -runs Unix's -.IR diff (1) -to compare the files in the local tree with the corresponding -files in the revision history. -By default it compares against the version that was most recently -incorporated into the local tree. -The -.B -r -flag specifies an alternate version to compare against. -The special revision -.B tip -refers to the most recent version on the server. -.PP -.I Hg -.I serve -starts an HTTP server serving information about -the local repository at the address -.BR http://localhost:8000/ . -.PP -.I Hg -.I view -starts an interactive history viewer. -.PP -The Mercurial tree can be inspected on the web at -.HR http://code.swtch.com/plan9port/ "" . -.SH FILES -.TP -.B \*9/.hg -directory containing Mercurial local repository -.TP -.B .hgignore -list of files and wildcards to exclude from Mercurial operations -.SH SEE ALSO -.IR codereview (1) -.PP -Unix's -\fIhg\fR(1), -.HR http://www.selenic.com/mercurial/wiki/ -.PP -.HR http://code.swtch.com/plan9port/ -.SH BUGS -Plan 9 from User Space is no longer accessible using CVS; -you must use Mercurial. -- cgit v1.2.3