Bläddra i källkod

Add function to sync dotfiles quickly between branches

Andrew Swistak 11 år sedan
förälder
incheckning
1a5a774a5f
2 ändrade filer med 26 tillägg och 0 borttagningar
  1. 13 0
      bashrc
  2. 13 0
      zshrc

+ 13 - 0
bashrc

@@ -39,6 +39,19 @@ fi
 export EDITOR="mvim"
 alias vim="mvim"
 
+dot_sync() {
+  current_branch=$(git branch | grep '\*.*' | cut -d '*' -f 2 | tr -d ' ')
+  if [ -z "$1" ]; then
+    1=$current_branch
+  fi
+
+  for branch in $(git branch | grep '^[^*].*$'); do
+    git ch $branch
+    git cherry-pick $1 || { echo 'Problems.. manually cherry-pick'; return 0 }
+  done
+  git ch $current_branch
+}
+
 export DOTFILES=$HOME/Documents/dotfiles
 export PATH=$DOTFILES/bin:$PATH
 export PATH=$PATH:$HOME/.rvm/bin

+ 13 - 0
zshrc

@@ -33,6 +33,19 @@ source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
 precmd () {print -Pn "\e]2; %~/ \a"}
 preexec () {print -Pn "\e]2; %~/ \a"}
 
+dot_sync() {
+  current_branch=$(git branch | grep '\*.*' | cut -d '*' -f 2 | tr -d ' ')
+  if [ -z "$1" ]; then
+    1=$current_branch
+  fi
+
+  for branch in $(git branch | grep '^[^*].*$'); do
+    git ch $branch
+    git cherry-pick $1 || { echo 'Problems.. manually cherry-pick'; return 0 }
+  done
+  git ch $current_branch
+}
+
 # Set Home, End, Del, PgUp, PgDown keys to actually do something.
 bindkey '^[OH' beginning-of-line
 bindkey '^[OF' end-of-line