From ed2240e21464222be7a0afc4c9635e8187c667d9 Mon Sep 17 00:00:00 2001 From: Matthew Rothenberg Date: Wed, 15 Oct 2014 02:21:35 -0400 Subject: [PATCH 1/8] BUGFIX: actually clear variables The current `git_clear_vars()` method appears to have iterated over all the existing set variable correctly, but never actually bothered to clear them. --- lib/git/status_shortcuts.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/git/status_shortcuts.sh b/lib/git/status_shortcuts.sh index e5686c2..41671d4 100644 --- a/lib/git/status_shortcuts.sh +++ b/lib/git/status_shortcuts.sh @@ -166,7 +166,12 @@ git_clear_vars() { local i for (( i=1; i<=$gs_max_changes; i++ )); do # Stop clearing after first empty var - if [[ -z "$(eval echo "\${$git_env_char$i:-}")" ]]; then break; fi + local env_var_i=${git_env_char}${i} + if [[ -z "$(eval echo "\${$env_var_i:-}")" ]]; then + break + else + unset $env_var_i + fi done } From 23e99709daf5c35b755841dd6457913c26839739 Mon Sep 17 00:00:00 2001 From: Matthew Rothenberg Date: Wed, 15 Oct 2014 02:41:21 -0400 Subject: [PATCH 2/8] integrate branch parsing into single system call The `git status --porcelain` command can take an additional argument `-b` which causes the porcelain output to also contain branch information in a stable and supposedly nonchanging way. This change adds that argument to the initial `git status` call, and parses the branch/ahead/behind information from that. The end result is the entire call to `git branch -v` can be removed, resulting in one less subshell command and hopefully a more reliable target across future versions of git. --- lib/git/status_shortcuts.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/git/status_shortcuts.rb b/lib/git/status_shortcuts.rb index 2b656db..e121b8b 100644 --- a/lib/git/status_shortcuts.rb +++ b/lib/git/status_shortcuts.rb @@ -22,14 +22,15 @@ @project_root = File.exist?(".git") ? Dir.pwd : `\git rev-parse --show-toplevel 2> /dev/null`.strip -@git_status = `\git status --porcelain 2> /dev/null` +@git_status = `\git status --porcelain -b 2> /dev/null` -git_branch = `\git branch -v 2> /dev/null` -@branch = git_branch[/^\* (\(no branch\)|[^ ]*)/, 1] -@ahead = git_branch[/^\* [^ ]* *[^ ]* *\[ahead ?(\d+).*\]/, 1] -@behind = git_branch[/^\* [^ ]* *[^ ]* *\[.*behind ?(\d+)\]/, 1] +git_status_lines = @git_status.split("\n") +git_branch = git_status_lines[0] +@branch = git_branch[/^## (?:Initial commit on )?([^ \.]+)/, 1] +@ahead = git_branch[/\[ahead ?(\d+).*\]/, 1] +@behind = git_branch[/\[.*behind ?(\d+)\]/, 1] -@changes = @git_status.split("\n") +@changes = git_status_lines[1..-1] # Exit if too many changes exit if @changes.size > ENV["gs_max_changes"].to_i @@ -131,7 +132,7 @@ end # Extract the second file name from the format x -> y quoted, unquoted = /^(?:"(?:[^"\\]|\\.)*"|[^"].*) -> (?:"((?:[^"\\]|\\.)*)"|(.*[^"]))$/.match(file)[1..2] renamed_file = quoted || unquoted - @stat_hash[:unstaged] << {:msg => " modified", :col => :mod, :file => renamed_file} + @stat_hash[:unstaged] << {:msg => " modified", :col => :mod, :file => renamed_file} elsif x != "R" && y == "M" @stat_hash[:unstaged] << {:msg => " modified", :col => :mod, :file => file} elsif y == "D" && x != "D" && x != "U" From 1a5d3f52e088254fd7f7bcc530aae3ff3f7cf255 Mon Sep 17 00:00:00 2001 From: Martino Visintin Date: Sat, 21 Jan 2017 16:36:33 +0000 Subject: [PATCH 3/8] change install path to org repo --- README.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index f2607bf..d2642ba 100644 --- a/README.markdown +++ b/README.markdown @@ -319,7 +319,7 @@ It would be cool to make this project into an [oh-my-zsh](https://github.com/rob # Installation ```bash -git clone git://github.com/ndbroadbent/scm_breeze.git ~/.scm_breeze +git clone git://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze ~/.scm_breeze/install.sh source ~/.bashrc # or source ~/.zshrc ``` From 1c072b335414bfe5563d35b9fb6a4ac1019f6bd6 Mon Sep 17 00:00:00 2001 From: Martino Visintin Date: Fri, 27 Jan 2017 20:50:13 +0000 Subject: [PATCH 4/8] reorganize readme - lines are now ~= 80 chars - update links to point to scmbreeze/scm_breeze - update travis banner link - promote install instructions to top-ish of readme - consolidate contributing section - remove some horizontal lines --- README.markdown | 344 +++++++++++++++++++++++++----------------------- 1 file changed, 182 insertions(+), 162 deletions(-) diff --git a/README.markdown b/README.markdown index d2642ba..ca83466 100644 --- a/README.markdown +++ b/README.markdown @@ -2,17 +2,22 @@ ## Please post an issue if you would like to help out. -# SCM Breeze [![TravisCI](https://secure.travis-ci.org/ndbroadbent/scm_breeze.png?branch=master)](http://travis-ci.org/ndbroadbent/scm_breeze) +--- + +# SCM Breeze [![TravisCI](https://secure.travis-ci.org/scmbreeze/scm_breeze.png?branch=master)](http://travis-ci.org/scmbreeze/scm_breeze) > Streamline your SCM workflow. -**SCM Breeze** is a set of shell scripts (for `bash` and `zsh`) that enhance your interaction with git. It integrates with your shell to give you numbered file shortcuts, -a repository index with tab completion, and many other useful features. +**SCM Breeze** is a set of shell scripts (for `bash` and `zsh`) that enhance +your interaction with git. It integrates with your shell to give you numbered +file shortcuts, a repository index with tab completion, and many other useful +features. -
+![SCM Breeze Example Gif](http://i.imgur.com/3fD8cpo.gif) -- [SCM Breeze](#scm-breeze-) - - [Demos](#demos) + +- [Installation](#installation) +- [Usage](#usage) - [File Shortcuts](#file-shortcuts) - [Git Status Shortcuts:](#git-status-shortcuts) - ['ls' shortcuts:](#ls-shortcuts) @@ -23,56 +28,66 @@ a repository index with tab completion, and many other useful features. - [1) Create and configure a root design directory](#1-create-and-configure-a-root-design-directory) - [2) Initialize design directories for your projects](#2-initialize-design-directories-for-your-projects) - [3) Link existing design directories into your projects](#3-link-existing-design-directories-into-your-projects) - - [Contributing tools / scripts](#contributing-tools--scripts) -- [Installation](#installation) -- [Updating](#updating) -- [Uninstall](#uninstall) - [Configuration](#configuration) - - [1) Configure and use the provided SCM Breeze aliases](#1-configure-and-use-the-provided-scm-breeze-aliases) - - [2) Use your own aliases](#2-use-your-own-aliases) + - [1) Configure and use the provided SCM Breeze aliases](#1-configure-and-use-the-provided-scm-breeze-aliases) + - [2) Use your own aliases](#2-use-your-own-aliases) +- [Updating](#updating) +- [Uninstalling](#uninstalling) - [Notes about Tab Completion for Aliases](#notes-about-tab-completion-for-aliases) - [Bash](#bash) - [Zsh](#zsh) - [Contributing](#contributing) -
-## Demos +## Installation -Adding a range of files, and pressing `Ctrl+X, C` to commit: +```bash +git clone git://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze +~/.scm_breeze/install.sh +source ~/.bashrc # or source ~/.zshrc +``` -
+The install script creates required default configs and adds the following line +to your `.bashrc` or `.zshrc`: -
+`[ -s "$HOME/.scm_breeze/scm_breeze.sh" ] && source "$HOME/.scm_breeze/scm_breeze.sh"` -
- -
- -## File Shortcuts - -SCM Breeze makes it really easy to work with changed files, and groups of changed files. -Whenever you view your SCM status, each modified path is stored in a numbered environment variable. -You can configure the variable prefix, which is 'e' by default. +**Note:** SCM Breeze performs much faster if you have ruby installed. -### Git Status Shortcuts: +## Usage + +
+ +### File Shortcuts + +SCM Breeze makes it really easy to work with changed files, and groups of +changed files. Whenever you view your SCM status, each modified path is stored +in a numbered environment variable. You can configure the variable prefix, +which is 'e' by default. + + +#### Git Status Shortcuts:
Git Status With Shortcuts

-### 'ls' shortcuts: + +#### 'ls' shortcuts:
Ls With Shortcuts

-These numbers (or ranges of numbers) can be used with any SCM or system command. +These numbers (or ranges of numbers) can be used with any SCM or system +command. -For example, if `ga` was your alias for `git add`, instead of typing something like: +For example, if `ga` was your alias for `git add`, instead of typing something +like: ```bash $ ga assets/git_breeze/config* assets/git_breeze/install.sh @@ -84,8 +99,8 @@ You can type this instead: $ ga $e2 $e3 $e11 ``` -But SCM Breeze aliases `ga` to the `git_add_shortcuts` function, -which is smart enough to expand integers and ranges, so all you need to type is: +But SCM Breeze aliases `ga` to the `git_add_shortcuts` function, which is smart +enough to expand integers and ranges, so all you need to type is: ```bash $ ga 2 3 11 @@ -97,8 +112,8 @@ And if you want to add all unstaged changes (files 1 to 10): $ ga 1-10 ``` -(Note that `ga` will also remove deleted files, unlike the standard `git add` command. -This behaviour can be turned off if you don't like it.) +(Note that `ga` will also remove deleted files, unlike the standard `git add` +command. This behaviour can be turned off if you don't like it.) You can also diff, reset or checkout a file by typing: @@ -110,8 +125,8 @@ $ gco 5 ``` -You can use these shortcuts with system commands by passing your command through `exec_scmb_expand_args` -(default alias is 'ge'): +You can use these shortcuts with system commands by passing your command +through `exec_scmb_expand_args` (default alias is 'ge'): ```bash @@ -125,19 +140,21 @@ $ ge echo 1-3 ``` -### Other shortcuts +#### Other shortcuts -SCM Breeze adds a number of aliases to your shell. Use `list_aliases` to view all the aliases and their corresponding commands. -You can filter aliases by adding a search string: `list_aliases git log` +SCM Breeze adds a number of aliases to your shell. Use `list_aliases` to view +all the aliases and their corresponding commands. You can filter aliases by +adding a search string: `list_aliases git log` -There's also a `git_aliases` command, which just shows aliases for `git` commands. You can also pass in additional filters, e.g. `git_aliases log`. +There's also a `git_aliases` command, which just shows aliases for `git` +commands. You can also pass in additional filters, e.g. `git_aliases log`. -## Keyboard bindings +### Keyboard bindings -Some of my most common git commands are `git add` and `git commit`, so I wanted these -to be as streamlined as possible. One way of speeding up commonly used commands is by binding them to -keyboard shortcuts. +Some of my most common git commands are `git add` and `git commit`, so I wanted +these to be as streamlined as possible. One way of speeding up commonly used +commands is by binding them to keyboard shortcuts. Here are the default key bindings: @@ -145,14 +162,13 @@ Here are the default key bindings: * `CTRL`+`x` `SPACE` => `git_commit_all` - commit everything -The commit shortcuts use the `git_commit_prompt` function, which gives a simple prompt like this: +The commit shortcuts use the `git_commit_prompt` function, which gives a simple +prompt like this: -
-Git Commit All -
-
-(When using bash, this commit prompt gives you access to your bash history via the arrow keys.) -
+

(When using bash, this commit prompt gives +you access to your bash history via the arrow keys.)
And if you really want to speed up your workflow, you can type this: @@ -168,23 +184,26 @@ This sends the `HOME` key, followed by `git_add_and_commit`:
-## Repository Index +### Repository Index -The second feature is a repository index for all of your projects and submodules. -This gives you super-fast switching between your project directories, with tab completion, -and it can even tab-complete down to project subdirectories. -This means that you can keep your projects organized in subfolders, -but switch between them as easily as if they were all in one folder. +The second feature is a repository index for all of your projects and +submodules. This gives you super-fast switching between your project +directories, with tab completion, and it can even tab-complete down to project +subdirectories. This means that you can keep your projects organized in +subfolders, but switch between them as easily as if they were all in one +folder. -It's similar to [autojump](https://github.com/joelthelion/autojump), but it doesn't need to 'learn' anything, -and it can do SCM-specific stuff like: +It's similar to [autojump](https://github.com/joelthelion/autojump), but it +doesn't need to 'learn' anything, and it can do SCM-specific stuff like: -* Running a command for all of your repos (useful if you ever need to update a lot of remote URLs) +* Running a command for all of your repos (useful if you ever need to update a + lot of remote URLs) * Update all of your repositories via a cron task The default alias for `git_index` is 'c', which might stand for 'code' -You will first need to configure your repository directory, and then build the index: +You will first need to configure your repository directory, and then build the +index: ```bash $ c --rebuild @@ -192,10 +211,12 @@ $ c --rebuild # => ===== Indexed 64 repos in /home/ndbroadbent/code/.git_index ``` -Then you'll be able to switch between your projects, or show the list of indexed repos. +Then you'll be able to switch between your projects, or show the list of +indexed repos. -To switch to a project directory, you don't need to type the full project name. For example, -to switch to the `capistrano` project, you could type any of the following: +To switch to a project directory, you don't need to type the full project name. +For example, to switch to the `capistrano` project, you could type any of the +following: ```bash $ c capistrano @@ -214,19 +235,20 @@ $ c capistrano/lib/ # => cd ~/code/gems/capistrano/lib ``` -Or if you want to go to a subdirectory within the `~/code` directory, prefix the first argument with a `/`: +Or if you want to go to a subdirectory within the `~/code` directory, prefix +the first argument with a `/`: ```bash ~ $ c /gems ~/code/gems $ ``` -## Linking External Project Design Directories +### Linking External Project Design Directories -When you're creating logos or icons for a project that uses `git`, -have you ever wondered where you should store those `.psd` or `.xcf` files? -Do you commit all of your raw design files, or does it put you off that any changes to those files -will bloat your repository? +When you're creating logos or icons for a project that uses `git`, have you +ever wondered where you should store those `.psd` or `.xcf` files? Do you +commit all of your raw design files, or does it put you off that any changes to +those files will bloat your repository? Here were my goals when I set out to find a solution: @@ -235,166 +257,164 @@ Here were my goals when I set out to find a solution: * The design directory needed to be synchronized across all of my machines The simplest way for me to synchronize files was via my Dropbox account. -However, if you work with a larger team, you could set up a shared design directory on one -of your servers and synchronize it with `rsync`. +However, if you work with a larger team, you could set up a shared design +directory on one of your servers and synchronize it with `rsync`. -### 1) Create and configure a root design directory +#### 1) Create and configure a root design directory I created my root design directory at `~/Dropbox/Design`. -After you've created your root design directory, edit `~/.scmbrc` and set `root_design_dir` -to the directory you just created. -You can also configure the design directory that's created in each of your projects -(default: `design_assets`), as well as the subdirectories you would like to use. -The default base subdirectories are: Images, Backgrounds, Logos, Icons, Mockups, and Screenshots. +After you've created your root design directory, edit `~/.scmbrc` and set +`root_design_dir` to the directory you just created. You can also configure +the design directory that's created in each of your projects (default: +`design_assets`), as well as the subdirectories you would like to use. The +default base subdirectories are: Images, Backgrounds, Logos, Icons, Mockups, +and Screenshots. -After you have changed these settings, remember to run `source ~/.bashrc` or `source ~/.zshrc`. +After you have changed these settings, remember to run `source ~/.bashrc` or +`source ~/.zshrc`. -### 2) Initialize design directories for your projects +#### 2) Initialize design directories for your projects -To set up the design directories and symlinks, go to a project's directory and run: +To set up the design directories and symlinks, go to a project's directory and +run: ```bash design init ``` If your root directory is `~/Dropbox/Design`, directories will be created at -`~/Dropbox/Design/projects/my_project/Backgrounds`, `~/Dropbox/Design/projects/my_project/Icons`, etc. +`~/Dropbox/Design/projects/my_project/Backgrounds`, +`~/Dropbox/Design/projects/my_project/Icons`, etc. -It will then symlink the project from your root design directory into your project's design directory, -so you end up with: +It will then symlink the project from your root design directory into your +project's design directory, so you end up with: * `my_project/design_assets` -> `~/Dropbox/Design/projects/my_project` It also adds this directory to `.git/info/exclude` so that git ignores it. -If you use the git repository index, -you can run the following batch command to set up these directories for all of your git repos at once: +If you use the git repository index, you can run the following batch command to +set up these directories for all of your git repos at once: ```bash git_index --batch-cmd design init ``` - If you want to remove any empty design directories, run: ```bash design trim ``` -And if you want to remove all of a project's design directories, even if they contain files: +And if you want to remove all of a project's design directories, even if they +contain files: ```bash design rm ``` -### 3) Link existing design directories into your projects +#### 3) Link existing design directories into your projects -If you've set up your design directories on one machine, you'll want them -to be synchronized across all of your other development machines. +If you've set up your design directories on one machine, you'll want them to be +synchronized across all of your other development machines. -Just run the following command on your other machines after you've configured the root design directory: +Just run the following command on your other machines after you've configured +the root design directory: ```bash design link ``` -This uses your git index to figure out where to create the symlinks. -If you don't use the git index, the same outcome could be achieved by running 'design init' -for each of the projects. +This uses your git index to figure out where to create the symlinks. If you +don't use the git index, the same outcome could be achieved by running 'design +init' for each of the projects. +## Configuration -## Contributing tools / scripts +SCM Breeze is configured via automatically installed `~/.*.scmbrc` files. To +change git configuration, edit `~/.git.scmbrc`. -If you have any awesome SCM scripts lurking in your `.bashrc` or `.zshrc`, -please feel free to send me a pull request. -It would be cool to make this project into an [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) for SCMs. +Each feature is modular, so you are free to ignore the parts you don't want to +use. Just comment out the relevant line in `~/.scm_breeze/scm_breeze.sh`. + +**Note:** After changing any settings, you will need to run `source ~/.bashrc` +(or `source ~/.zshrc`) + +I know we grow attached to the aliases we use every day, so I've made the alias +system completely customizable. You have two options when it comes to aliases: -# Installation +### 1) Configure and use the provided SCM Breeze aliases -```bash -git clone git://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze -~/.scm_breeze/install.sh -source ~/.bashrc # or source ~/.zshrc -``` - -The install script creates required default configs and adds the following line to your `.bashrc` or `.zshrc`: - -`[ -s "$HOME/.scm_breeze/scm_breeze.sh" ] && source "$HOME/.scm_breeze/scm_breeze.sh"` - -**Note:** SCM Breeze performs much faster if you have ruby installed. +Just tweak the aliases in `~/.git.scmbrc`. You can also change or remove any +keyboard shortcuts. These aliases also come with tab completion. For example, +you can type `gco ` to tab complete your list of branches. -# Updating +### 2) Use your own aliases -Please run `update_scm_breeze` to fetch the latest code. This will update SCM Breeze from Github, -and will create or patch your `~/.*.scmbrc` config files if any new settings are added. +In your `git.scmbrc` config file, just set the `git_setup_aliases` option to +`no`. Your existing git aliases will then be used, and you will still be able +to use the numeric shortcuts feature. SCM Breeze creates a function to wrap +the 'git' command, which expands numeric arguments, and uses `hub` if +available. -# Uninstall +A few aliases will still be defined for the central SCM Breeze features, such +as `gs` for the extended `git status`, and `ga` for the `git add` function. + +If you already have an alias like `alias gco="git checkout"`, you can now type +`gco 1` to checkout the first file in the output of SCM Breeze's `git status`. + + +## Notes about Tab Completion for Aliases + +### Bash + +If you use your own aliases, SCM Breeze will **not** set up bash tab completion +for your aliases. You will need to set that up yourself. + + +### Zsh + +You just need to set the option: `setopt no_complete_aliases` (oh-my-zsh sets +this by default). Zsh will then expand aliases like `gb` to `git branch`, and +use the completion for that. + + +## Updating + +Please run `update_scm_breeze` to fetch the latest code. This will update SCM +Breeze from Github, and will create or patch your `~/.*.scmbrc` config files if +any new settings are added. + + +## Uninstalling ```bash ~/.scm_breeze/uninstall.sh ``` -The uninstall script removes the following line from your `.bashrc` or `.zshrc`: +The uninstall script removes the following line from your `.bashrc` or +`.zshrc`: `[ -s "$HOME/.scm_breeze/scm_breeze.sh" ] && source "$HOME/.scm_breeze/scm_breeze.sh"` -# Configuration -SCM Breeze is configured via automatically installed `~/.*.scmbrc` files. -To change git configuration, edit `~/.git.scmbrc`. +## Contributing -Each feature is modular, so you are free to ignore the parts you don't want to use. -Just comment out the relevant line in `~/.scm_breeze/scm_breeze.sh`. - -**Note:** After changing any settings, you will need to run `source ~/.bashrc` (or `source ~/.zshrc`) - -I know we grow attached to the aliases we use every day, so I've made the alias system completely customizable. -You have two options when it comes to aliases: - -### 1) Configure and use the provided SCM Breeze aliases - -Just tweak the aliases in `~/.git.scmbrc`. You can also change or remove any keyboard shortcuts. -These aliases also come with tab completion. For example, you can type `gco ` to tab complete your list of branches. - -### 2) Use your own aliases - -In your `git.scmbrc` config file, just set the `git_setup_aliases` option to `no`. -Your existing git aliases will then be used, and you will still be able to use the numeric shortcuts feature. -SCM Breeze creates a function to wrap the 'git' command, which expands numeric arguments, and uses `hub` if available. - -A few aliases will still be defined for the central SCM Breeze features, such as `gs` for the extended `git status`, -and `ga` for the `git add` function. - -If you already have an alias like `alias gco="git checkout"`, -you can now type `gco 1` to checkout the first file in the output of SCM Breeze's `git status`. - -# Notes about Tab Completion for Aliases - -### Bash - -If you use your own aliases, SCM Breeze will **not** set up bash tab completion for your aliases. -You will need to set that up yourself. - -### Zsh - -You just need to set the option: `setopt no_complete_aliases` (oh-my-zsh sets this by default). -Zsh will then expand aliases like `gb` to `git branch`, and use the completion for that. - -# Contributing - -SCM Breeze lives on Github at [https://github.com/ndbroadbent/scm_breeze](https://github.com/ndbroadbent/scm_breeze) - -Please feel free to fork and send pull requests, especially if you would like to build these features -for Mercurial, SVN, etc. +SCM Breeze lives on Github at +[`scmbreeze/scm_breeze`](https://github.com/scmbreeze/scm_breeze) +If you have any awesome SCM scripts lurking in your `.bashrc` or `.zshrc`, +please feel free to send me a pull request. It would be cool to make this +project into an [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) for +SCMs. ***Enjoy!*** From 6d0637ba672e58ecb5d511197e0a627a817f95b8 Mon Sep 17 00:00:00 2001 From: Martino Visintin Date: Fri, 27 Jan 2017 21:05:00 +0000 Subject: [PATCH 5/8] prune subsections from TOC --- README.markdown | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/README.markdown b/README.markdown index ca83466..28e9643 100644 --- a/README.markdown +++ b/README.markdown @@ -19,23 +19,13 @@ features. - [Installation](#installation) - [Usage](#usage) - [File Shortcuts](#file-shortcuts) - - [Git Status Shortcuts:](#git-status-shortcuts) - - ['ls' shortcuts:](#ls-shortcuts) - - [Other shortcuts](#other-shortcuts) - [Keyboard bindings](#keyboard-bindings) - [Repository Index](#repository-index) - [Linking External Project Design Directories](#linking-external-project-design-directories) - - [1) Create and configure a root design directory](#1-create-and-configure-a-root-design-directory) - - [2) Initialize design directories for your projects](#2-initialize-design-directories-for-your-projects) - - [3) Link existing design directories into your projects](#3-link-existing-design-directories-into-your-projects) - [Configuration](#configuration) - - [1) Configure and use the provided SCM Breeze aliases](#1-configure-and-use-the-provided-scm-breeze-aliases) - - [2) Use your own aliases](#2-use-your-own-aliases) - [Updating](#updating) - [Uninstalling](#uninstalling) - [Notes about Tab Completion for Aliases](#notes-about-tab-completion-for-aliases) - - [Bash](#bash) - - [Zsh](#zsh) - [Contributing](#contributing) From 4d4736d406f9e0e9b1c28a5c3b2c728a39a51bd9 Mon Sep 17 00:00:00 2001 From: Martino Visintin Date: Fri, 27 Jan 2017 21:22:43 +0000 Subject: [PATCH 6/8] remove unimplemented scms --- lib/bzr/BUILDME | 0 lib/hg/BUILDME | 0 lib/svn/BUILDME | 0 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/bzr/BUILDME delete mode 100644 lib/hg/BUILDME delete mode 100644 lib/svn/BUILDME diff --git a/lib/bzr/BUILDME b/lib/bzr/BUILDME deleted file mode 100644 index e69de29..0000000 diff --git a/lib/hg/BUILDME b/lib/hg/BUILDME deleted file mode 100644 index e69de29..0000000 diff --git a/lib/svn/BUILDME b/lib/svn/BUILDME deleted file mode 100644 index e69de29..0000000 From 31f561a99135e786c52346936ab6a5481fefde9c Mon Sep 17 00:00:00 2001 From: chrisfinazzo Date: Mon, 30 Jan 2017 20:51:25 -0500 Subject: [PATCH 7/8] Fix Shellcheck error --- uninstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uninstall.sh b/uninstall.sh index ca7b83a..107cdf0 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -3,5 +3,5 @@ # Remove line from bashrc and zshrc if present. for rc in bashrc zshrc; do sed -i '/scm_breeze/d' "$HOME/.$rc" - printf "== Removed SCM Breeze from '$HOME/.$rc'\n" + printf "Removed SCM Breeze from '$HOME/.$rc''%s\n" done From e95b9a33a108642a5c01ca070963fc53a6dfaf07 Mon Sep 17 00:00:00 2001 From: Wilhelmina Drengwitz Date: Tue, 31 Jan 2017 15:42:21 -0500 Subject: [PATCH 8/8] Fix printf usage --- uninstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uninstall.sh b/uninstall.sh index 107cdf0..0805a6e 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -3,5 +3,5 @@ # Remove line from bashrc and zshrc if present. for rc in bashrc zshrc; do sed -i '/scm_breeze/d' "$HOME/.$rc" - printf "Removed SCM Breeze from '$HOME/.$rc''%s\n" + printf "Removed SCM Breeze from %s\n" "$HOME/.$rc" done