Compare commits
74 Commits
Author | SHA1 | Date | |
---|---|---|---|
22c293eb58 | |||
8e10d8aefb | |||
3c100af8d2 | |||
0ccc15089b | |||
ab839658ba | |||
a970a6ef8a | |||
|
146bdc347b | ||
3456e95135 | |||
40b987911c | |||
3107b78aa0 | |||
030c1c519f | |||
127815dd1f | |||
3fbec5ea29 | |||
9fd1b4bfed | |||
4fa19ce27a | |||
efdad72708 | |||
5955385e9c | |||
f94756e615 | |||
00bbb51384 | |||
20e2498f39 | |||
a23c74a70a | |||
941f487292 | |||
8bc64da119 | |||
4ad99b6707 | |||
c5df97ebe8 | |||
b81aed66b6 | |||
77f1965113 | |||
122e16b697 | |||
a34b0f5edf | |||
32574bdd23 | |||
d6f74de034 | |||
821d27863d | |||
f2678b5f88 | |||
a215aac2f6 | |||
6d547299cd | |||
40aeec7bea | |||
e8fe0efcdb | |||
6f4a88737d | |||
0587d73472 | |||
3c0375891a | |||
ee592451b5 | |||
cec02602a0 | |||
f9c474a53f | |||
9ffbd09477 | |||
cc95b79447 | |||
adeabcec6b | |||
f4a568c3ca | |||
b1df2f7a12 | |||
3b7bf12da8 | |||
8dc3cc969e | |||
|
d8e31f8b46 | ||
9c79bacbe6 | |||
03fe7d9c7e | |||
33f5a85079 | |||
406a01cdf5 | |||
45f2a199f9 | |||
e20f843d25 | |||
33b79e2930 | |||
638137518d | |||
59544d30a6 | |||
d004741a96 | |||
280f81d2c3 | |||
1eb5292502 | |||
84dc998e11 | |||
49656998be | |||
c08d497127 | |||
671cf7e00c | |||
d191a944d8 | |||
780e8b6692 | |||
07080d34a7 | |||
d425d7ae14 | |||
34ed003e51 | |||
4755cbfd50 | |||
b97d1a4d1c |
110
README
110
README
@ -1,4 +1,5 @@
|
|||||||
Josh's SVN wrapper script
|
Josh's SVN wrapper script
|
||||||
|
https://github.com/holtrop/jsvn
|
||||||
|
|
||||||
This wrapper script to Subversion supplements normal svn behavior by
|
This wrapper script to Subversion supplements normal svn behavior by
|
||||||
adding additional functionality or modifying the output of the default
|
adding additional functionality or modifying the output of the default
|
||||||
@ -26,11 +27,31 @@ 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] [-d] [-s] [<branch_name>]
|
branch[es]
|
||||||
- with no arguments, list branches with '*' by the current one
|
- branch: list branches with '*' by the current one
|
||||||
- with -d, delete <branch>
|
- branch -d name: delete branch <name>
|
||||||
- otherwise, create a new branch from the current one
|
- branch [-s] name [source[@rev]]: create branch <name>
|
||||||
|
- if <source> is given it is resolved as a reference name (can be 'trunk',
|
||||||
|
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
|
- 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'
|
||||||
@ -48,40 +69,57 @@ 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 [command]
|
stash [options] [file...]
|
||||||
- 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 "save" pushes a new stash object
|
- the stashes behaves as a "stack" where stashing pushes a new stash object
|
||||||
and "pop" pops the newest one from the top of the stack
|
and popping removes the newest one from the top of the stack
|
||||||
commands:
|
- binary files are ignored (a warning is printed) and not stashed
|
||||||
save [-k] (default if not specified):
|
options:
|
||||||
- save changes as a "stash" object
|
-e, --externals
|
||||||
- revert changes from working copy unless -k (keep working copy) given
|
- also stash changes in externals (if no explicit targets given)
|
||||||
- this only works with text files, not binary files
|
- this option is implicitly on if the configuration value
|
||||||
list:
|
'stash_externals' is set to True
|
||||||
|
--noexternals
|
||||||
|
- reverse --externals (or the configuration value 'stash_externals')
|
||||||
|
-k, --keep
|
||||||
|
- create the stash object, but keep the changes locally as well
|
||||||
|
- with --pop, do not remove the stash object after reapplying it
|
||||||
|
-p, --patch
|
||||||
|
- interactively prompt for whether to stash each hunk
|
||||||
|
--list
|
||||||
- show a list of all stash objects
|
- show a list of all stash objects
|
||||||
pop [-k] [id]:
|
--pop [id]
|
||||||
- apply the stash object <id> back to the working copy
|
- apply the stash object <id> back to the working copy
|
||||||
- the stash object is removed unless -k (keep) given
|
- the stash object is removed unless -k (keep) given
|
||||||
- <id> defaults to the newest stash object created
|
- <id> defaults to the newest stash object created
|
||||||
show [id]:
|
--show [id]
|
||||||
- display the diff stored in stash with ID <id>
|
- display the diff stored in stash with ID <id>
|
||||||
- <id> defaults to the newest stash object created
|
- <id> defaults to the newest stash object created
|
||||||
drop [id]:
|
--drop [id]
|
||||||
- delete stash object <id>
|
- delete stash object <id>
|
||||||
- <id> defaults to the newest stash object created
|
- <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] [[-d] <tag_name>] | [-m <old_tag_name> <new_tag_name>]
|
tag[s]
|
||||||
- with no arguments, list tags
|
- tag [-v]: list tags
|
||||||
- with -d, delete <tag>
|
- with -v (verbose), lists tag origin and creation date
|
||||||
- with -m, rename <old_tag_name> to <new_tag_name>
|
- tag -d name: delete tag <name>
|
||||||
- otherwise, create a new tag from the current branch
|
- tag -m old new: rename tag <old> to <new>
|
||||||
url
|
- tag name [source[@rev]]: create tag <name>
|
||||||
- output repository URL of current working directory
|
- if <source> is given it is resolved as a reference name (can be 'trunk',
|
||||||
|
or another tag or a branch name)
|
||||||
|
- if <source> is not given the HEAD of the current working-copy URL is used.
|
||||||
|
url [file]
|
||||||
|
- 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
|
||||||
@ -130,6 +168,14 @@ Available configuration variables:
|
|||||||
function will be called recursively!
|
function will be called recursively!
|
||||||
svn: Specify the path to the native Subversion executable. If not
|
svn: Specify the path to the native Subversion executable. If not
|
||||||
specified, the first 'svn' in $PATH will be used.
|
specified, the first 'svn' in $PATH will be used.
|
||||||
|
ignore_executable_extensions: A list of extensions (including the '.')
|
||||||
|
for newly added files which should not automatically have the
|
||||||
|
svn:executable property added for them even if the files are
|
||||||
|
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
|
||||||
@ -145,6 +191,24 @@ 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
|
||||||
|
- allow optional source/revision argument when creating a tag
|
||||||
|
- handle ctrl+c better when interacting with a pager
|
||||||
|
- add configurable functionality to work around svn automatically adding svn:executable property
|
||||||
|
- bugfix for diff "..." range syntax to show correct diff
|
||||||
|
- improved performance for diff/log "..." syntax
|
||||||
|
- minor stash show bugfix
|
||||||
v1.3 - 2012-06-27
|
v1.3 - 2012-06-27
|
||||||
- colorize diff --summarize output
|
- colorize diff --summarize output
|
||||||
- log: support ref1..ref2 syntax for showing ref2 history not in ref1
|
- log: support ref1..ref2 syntax for showing ref2 history not in ref1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user