Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ymattw/coderev
A toolkit generates side-by-side html pages for code review
https://github.com/ymattw/coderev
Last synced: 3 months ago
JSON representation
A toolkit generates side-by-side html pages for code review
- Host: GitHub
- URL: https://github.com/ymattw/coderev
- Owner: ymattw
- License: gpl-2.0
- Archived: true
- Created: 2012-12-26T14:35:12.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2020-01-14T06:24:28.000Z (almost 5 years ago)
- Last Synced: 2024-04-12T00:18:53.424Z (7 months ago)
- Language: Python
- Size: 90.8 KB
- Stars: 61
- Watchers: 11
- Forks: 11
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- starred-awesome - coderev - A toolkit generates side-by-side html pages for code review (Python)
README
*Hey, maybe you are just looking for a side-by-side diff viewer? Try [cdiff](https://github.com/ymattw/cdiff) instead.*
# Coderev
A toolkit generates side-by-side html pages for code review
## About
Coderev is a toolkit generates static side-by-side html pages for code review.
Typical use case is to generate diff pages for local modification in svn/cvs
workspace and send page link to teammates for code review.See [ymattw.github.io/coderev/demo/](http://ymattw.github.io/coderev/demo/index.html) for a demo.
This toolkit contains two scripts that can be used separately.
- coderev.sh - generate diff page in svn/cvs workspace
- codediff.py - generate diff page for any two given files/directoriesThis project was originally hosted at [google code](http://code.google.com/p/coderev/)
and recent moved to github.## Usage of coderev.sh
Just type `./coderev.sh -h` to see the usage.
```
Usage:
coderev.sh [-r revision] [-w width] [-o outdir] [-y] [-d name] \
[-F comment-file | -m 'comment...'] [file...]coderev.sh [-r revision] [-w width] [-o outdir] [-y] [-d name] \
[-F comment-file | -m 'comment...'] [-p num] < patch-fileAll options are optional.
-r revision - Specify a revision number, or symbol (PREV, BASE, HEAD)
in svn, see svn books for details. Default revision is
revision of your working copy-w width - Let code review pages wrap in specific column
-o outdir - The output dir to save code review pages
-y - Force overwrite if outdir alredy exists
-d name - Use this name instead of a dynamically timestamp string
as coderev directory basename-F comment-file - A file to read comments from
-m 'comment...' - To set inline comments, note '-m' precedes '-F', if
neither `-F' nor `-m' is specified, $EDITOR (default
is vi) will be invoked to write commentsfile... - File/dir list you want to diff, default is `.'
patch-file - A patch file (usually generated by `diff(1)' or `svn
diff') to use to generate coderev-p num - When use a patch file, this option is passed to utility
`patch(1)' to strip the smallest prefix containing num
leading slashes from each file name found in the patchExample 1:
You are working on the most up-to-date revision and made some local
modification, now you want to invite others to review, just runcd workspace
coderev.sh -w80This generates coderev pages (wrap in column 80) in a temp directory. Then
copy the coderev dir to somewhere on a web host and send out the link for
review. Read coderevrc.sample for how to make this automated.Example 2:
You are making local modification when someone else committed some changes
on foo.c and bar directory, you want to see what's different between your
copy and the up-to-date revision in repository, just runcd workspace
coderev.sh -r HEAD -o ~/public_html/coderev foo.c bar/This generate coderev based on diffs between HEAD revision (up-to-date
version in repository) and locally modified revision, this will retrieve
diffs from SVN server, output pages saved under your web home, i.e., if
you correctly configured a web server on your work station you can visit
http://server/~you/coderev to see the coderev. (Replace HEAD with a
revision number this example also works for CVS).Example 3:
Someone invite you to review his code change, unfortunately he sent you raw
diff generated by `cvs diff' named `foo.patch', you can runcd workspace
cvs up
coderev.sh -m 'applying patch foo' -o ~/public_html/foo < foo.patchAgain, you can visit http://server/~you/foo to see his change. Note you
may need to use option `-p num' depends on how he generated the patch.Example 4:
You want to see what's different between previous revision and your
current working copy (modified or not) for foo.c and dir bar/, just runcd workspace
svn diff -r PREV foo.c bar/ | coderev.sh -w80 -F commentsThis read comments from file `comments' and generate coderev in a temp
directory. (Replace PREV with a revision number this example also works
for CVS).
```## Usage of codediff.py
Just type `./codediff.py -h` to see the usage.
```
Usage:
codediff.py [options] OLD NEW
codediff.py OLD NEW [options]Diff two files/directories and produce HTML pages.
Options:
-h, --help show this help message and exit
-c, --context generate context diff (default is full diff), only
take effect when diffing two files
-F FILE, --commentfile=FILE
specify a file to read comments
-f FILE, --filelist=FILE
specify a file list to read from, filelist can be
generated by find -type f, specify - to read from
stdin
-m COMMENTS, --comments=COMMENTS
specify inline comments (precedes -F)
-n NUM, --lines=NUM specify context line count when generating context
diff or unified diff, default is 3
-o OUTPUT, --output=OUTPUT
specify output file or directory name
-p NUM, --striplevel=NUM
for all pathnames in the filelist, delete NUM path
name components from the beginning of each path name,
it is similar to patch(1) -p
-P NUM, --pager=NUM specify maximum number of files listed in index
page. If there's more, additionnal indexnn.html will be
generated.
-t TITLE, --title=TITLE
specify title of output index page
-w WIDTH, --wrap=WIDTH
specify column number where lines are broken and
wrapped for sdiff, default is no line wrapping
-y, --yes do not prompt for overwriting
```