|
|
|
|
@ -1,42 +1,45 @@ |
|
|
|
|
# `svn` plugin |
|
|
|
|
|
|
|
|
|
This plugin adds some utility functions to display additional information regarding your current |
|
|
|
|
svn repsitiory. See http://subversion.apache.org/ for the full svn documentation. |
|
|
|
|
svn repository. See http://subversion.apache.org/ for the full svn documentation. |
|
|
|
|
|
|
|
|
|
To use it, add `svn` to your plugins array: |
|
|
|
|
|
|
|
|
|
```zsh |
|
|
|
|
plugins=(... svn) |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
## Functions |
|
|
|
|
|
|
|
|
|
| Command | Description | |
|
|
|
|
|:-----------------------|:----------------------------------------| |
|
|
|
|
|svn_prompt_info | prompt for some themes | |
|
|
|
|
|in_svn | within svn directory | |
|
|
|
|
|svn_get_repo_name | | |
|
|
|
|
|svn_get_branch_name | branch name (see caveats) | |
|
|
|
|
|svn_get_rev_nr | revision number | |
|
|
|
|
|svn_dirty | changes in this subversion repo | |
|
|
|
|
|:----------------------|:--------------------------------------------| |
|
|
|
|
| `svn_prompt_info` | Shows svn prompt in themes | |
|
|
|
|
| `in_svn` | Checks if we're in an svn repository | |
|
|
|
|
| `svn_get_repo_name` | Get repository name | |
|
|
|
|
| `svn_get_branch_name` | Get branch name (see [caveats](#caveats)) | |
|
|
|
|
| `svn_get_rev_nr` | Get revision number | |
|
|
|
|
| `svn_dirty` | Checks if there are changes in the svn repo | |
|
|
|
|
|
|
|
|
|
## Caveats |
|
|
|
|
|
|
|
|
|
The plugin expects the first directory to be the current branch / tag / trunk. So, it returns |
|
|
|
|
The plugin expects the first directory to be the current branch / tag / trunk. So it returns |
|
|
|
|
the first path element if you don't use branches. |
|
|
|
|
|
|
|
|
|
## Usage |
|
|
|
|
## Usage on themes |
|
|
|
|
|
|
|
|
|
To use it, add `svn` to your plugins array: |
|
|
|
|
```sh |
|
|
|
|
plugins=(... svn) |
|
|
|
|
``` |
|
|
|
|
To use this in the `agnoster` theme follow these instructions: |
|
|
|
|
|
|
|
|
|
### Agnoster theme git-like prompt |
|
|
|
|
1. Enable the svn plugin |
|
|
|
|
|
|
|
|
|
Enable the svn plugin and add the followind lines to your ```~/.zshrc``` |
|
|
|
|
2. Add the following lines to your `zshrc` file: |
|
|
|
|
|
|
|
|
|
```shell |
|
|
|
|
prompt_svn() { |
|
|
|
|
```shell |
|
|
|
|
prompt_svn() { |
|
|
|
|
local rev branch |
|
|
|
|
if in_svn; then |
|
|
|
|
rev=$(svn_get_rev_nr) |
|
|
|
|
branch=$(svn_get_branch_name) |
|
|
|
|
if [ `svn_dirty_choose_pwd 1 0` -eq 1 ]; then |
|
|
|
|
if [[ $(svn_dirty_choose_pwd 1 0) -eq 1 ]]; then |
|
|
|
|
prompt_segment yellow black |
|
|
|
|
echo -n "$rev@$branch" |
|
|
|
|
echo -n "±" |
|
|
|
|
@ -45,13 +48,13 @@ prompt_svn() { |
|
|
|
|
echo -n "$rev@$branch" |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
override the agnoster build_prompt() function: |
|
|
|
|
3. Override the agnoster `build_prompt()` function: |
|
|
|
|
|
|
|
|
|
```shell |
|
|
|
|
build_prompt() { |
|
|
|
|
```zsh |
|
|
|
|
build_prompt() { |
|
|
|
|
RETVAL=$? |
|
|
|
|
prompt_status |
|
|
|
|
prompt_context |
|
|
|
|
@ -59,6 +62,6 @@ build_prompt() { |
|
|
|
|
prompt_git |
|
|
|
|
prompt_svn |
|
|
|
|
prompt_end |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|