Compare commits

..

No commits in common. "master" and "v1.4" have entirely different histories.
master ... v1.4

2 changed files with 267 additions and 707 deletions

117
README
View File

@ -27,31 +27,11 @@ Implemented subcommands:
- bad mark the current revision as bad - containing the change sought - bad mark the current revision as bad - containing the change sought
- good mark the current revision as good - older than the change sought - good mark the current revision as good - older than the change sought
- reset terminate the bisect operation and return to the original revision - reset terminate the bisect operation and return to the original revision
branch[es] branch[es] [-d] [-s] [<branch_name>]
- branch: list branches with '*' by the current one - with no arguments, list branches with '*' by the current one
- branch -d name: delete branch <name> - with -d, delete <branch>
- branch [-s] name [source[@rev]]: create branch <name> - otherwise, create a new branch from the current one
- if <source> is given it is resolved as a reference name (can be 'trunk', - also switch to the new branch if -s is given
or a tag or branch name)
- if <source> is not given the HEAD of the current working-copy URL is used.
- also switch to the new branch if -s is given
checkout [options] [url] [wc_path]
- if a URL is given that ends with /trunk and no working copy path is given,
then the last directory component before "/trunk" is used as the working
copy path
clean [-x] {-n|-f} [path...]
- remove (or list) unversioned items
options:
-x, --ignore-ignores
- remove/list unversioned items that are ignored by Subversion
-n, --dry-run
- perform a dry-run, i.e. list files that would be removed but do not
actually remove them
-f, --force
- perform the actual removal of unversioned files
commit
- removes trailing whitespace (including end-of-line characters) from commit
messages before committing if neither -m nor -F arguments are given
diff diff
- allow specifying ref1..ref2 syntax to show the diff between two references - allow specifying ref1..ref2 syntax to show the diff between two references
- references can be tag names, branch names, or 'trunk' - references can be tag names, branch names, or 'trunk'
@ -69,57 +49,43 @@ Implemented subcommands:
merge <branch> merge <branch>
- merge branch <branch> into the current WC path - merge branch <branch> into the current WC path
- falls back to Subversion "merge" if <branch> doesn't exist - falls back to Subversion "merge" if <branch> doesn't exist
revert <path[s]>
- revert all affected files under given target path(s)
root root
- output root URL (for use on shell such as "svn log $(svn root)/tags") - output root URL (for use on shell such as "svn log $(svn root)/tags")
stash [options] [file...] stash [command]
- allow temporarily saving changes to the working copy without committing - allow temporarily saving changes to the working copy without committing
- the stashes behaves as a "stack" where stashing pushes a new stash object - the stashes behaves as a "stack" where "save" pushes a new stash object
and popping removes the newest one from the top of the stack and "pop" pops the newest one from the top of the stack
- binary files are ignored (a warning is printed) and not stashed commands:
options: save [-k] (default if not specified):
-e, --externals - save changes as a "stash" object
- also stash changes in externals (if no explicit targets given) - revert changes from working copy unless -k (keep working copy) given
- this option is implicitly on if the configuration value - this only works with text files, not binary files
'stash_externals' is set to True list:
--noexternals - show a list of all stash objects
- reverse --externals (or the configuration value 'stash_externals') pop [-k] [id]:
-k, --keep - apply the stash object <id> back to the working copy
- create the stash object, but keep the changes locally as well - the stash object is removed unless -k (keep) given
- with --pop, do not remove the stash object after reapplying it - <id> defaults to the newest stash object created
-p, --patch show [id]:
- interactively prompt for whether to stash each hunk - display the diff stored in stash with ID <id>
--list - <id> defaults to the newest stash object created
- show a list of all stash objects drop [id]:
--pop [id] - delete stash object <id>
- apply the stash object <id> back to the working copy - <id> defaults to the newest stash object created
- the stash object is removed unless -k (keep) given
- <id> defaults to the newest stash object created
--show [id]
- display the diff stored in stash with ID <id>
- <id> defaults to the newest stash object created
--drop [id]
- delete stash object <id>
- <id> defaults to the newest stash object created
- if none of --list, --pop, --show, or --drop is given, a new stash object
is created containing the chosen differences
- if file is given, only the changes from the listed files will be stashed
switch <short_name> switch <short_name>
- switch to 'trunk', branch name, or tag name without having to specify - switch to 'trunk', branch name, or tag name without having to specify
the full URL the full URL
- falls back to Subversion "switch" if <short_name> doesn't exist - falls back to Subversion "switch" if <short_name> doesn't exist
tag[s] tag[s]
- tag [-v]: list tags - tag: list tags
- with -v (verbose), lists tag origin and creation date - tag -d <name>: delete tag <name>
- tag -d name: delete tag <name> - tag -m <old> <new>: rename tag <old> to <new>
- tag -m old new: rename tag <old> to <new> - tag <name> [source_ref[@rev]]: create tag <name>; if source_ref is given
- tag name [source[@rev]]: create tag <name> it is resolved as a reference name (can be 'trunk', or another tag or a
- if <source> is given it is resolved as a reference name (can be 'trunk', branch name); if source is not given the HEAD of the current working-
or another tag or a branch name) copy URL is used
- if <source> is not given the HEAD of the current working-copy URL is used. url
url [file] - output repository URL of current working directory
- output repository URL of file [default: '.' (current working directory)]
users users
- show a list of contributing users to a SVN path - show a list of contributing users to a SVN path
watch-lock watch-lock
@ -172,10 +138,6 @@ Available configuration variables:
for newly added files which should not automatically have the for newly added files which should not automatically have the
svn:executable property added for them even if the files are svn:executable property added for them even if the files are
executable. The default value is ['.c', '.cc', '.h', '.txt']. executable. The default value is ['.c', '.cc', '.h', '.txt'].
ignore_symlinks: True or False to hide unversioned symlinks from appearing
in status output (default: False)
stash_externals: True or False to enable/disable whether '-e' is implicitly
on for 'stash' subcommand. Defaults to False.
Configuration Examples: Configuration Examples:
pager = 'less -FRXi' # enable case-insensitive searching in less pager = 'less -FRXi' # enable case-insensitive searching in less
@ -191,17 +153,6 @@ Configuration Examples:
Author: Josh Holtrop Author: Josh Holtrop
History: History:
v1.7 - 2013-08-16
- add "clean" subcommand handler
- bugfix: revert subcommand handler: revert deleted items
v1.6 - 2013-07-24
- rework 'stash' subcommand to operate on individual hunks
- add 'revert' subcommand handler
v1.5 - 2012-11-08
- add -v (verbose) flag to 'tag' subcommand
- allow optional source argument to 'branch' subcommand
- remove repository prefix URL from diff --summarize output
- Add .exe extension to svn binary name if platform is Windows (not cygwin)
v1.4 - 2012-08-23 v1.4 - 2012-08-23
- allow optional source/revision argument when creating a tag - allow optional source/revision argument when creating a tag
- handle ctrl+c better when interacting with a pager - handle ctrl+c better when interacting with a pager

857
jsvn

File diff suppressed because it is too large Load Diff