Skip to content

Instantly share code, notes, and snippets.

@shiva
shiva / file-removal-from-git.md
Last active March 14, 2024 02:53
Remove files permanently from git

Keybase proof

I hereby claim:

  • I am shiva on github.
  • I am shivanand (https://keybase.io/shivanand) on keybase.
  • I have a public key ASBoHW8IILoVb7W-xD4LBj60cDtga-A8P0v6bErCa_gIWQo

To claim this, I am signing this object:

@shiva
shiva / whitespace-aliases.sh
Last active December 30, 2016 06:06
Remove trailing whitespaces in all of the files modified in the last git commit
alias remove-whitespace='sed -e '\''s/[[:blank:]]\+$//'\'' -i'
alias remove-ws-in-last-commit= 'for f in `git show --name-only --pretty=""`; do echo $f; remove-whitespace $f; done'
@shiva
shiva / aliases-for-dev.sh
Last active December 30, 2016 06:05
Useful Aliases
alias gen-cscope='find . -iname '\''*.c'\'' -o -iname '\''*.cpp'\'' -o -iname '\''*.cc'\'' -o -iname '\''*.h'\'' -o -iname '\''*.hpp'\'' > cscope.files && cscope -b -i cscope.files -f cscope.out'
alias gen-tags='ctags -R --c++-kinds=+p --fields=+iaS --extra=+q'
@shiva
shiva / pre-commit-clang-format
Last active July 7, 2017 16:24 — forked from wangkuiyi/pre-commit-clang-format
Git pre-commit hook that invokes clang-format to reformat C/C++/Objective-C source code.
#!/bin/bash
# git pre-commit hook that runs an clang-format stylecheck.
# Features:
# - abort commit when commit does not comply with the style guidelines
# - create a patch of the proposed style changes
# modifications for clang-format by rene.milk@wwu.de
# This file is part of a set of unofficial pre-commit hooks available
# at github.
@shiva
shiva / vimrc
Last active November 3, 2016 00:04
vimrc at work
" Forget being compatible with good ol' vi
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
@shiva
shiva / .Xresources
Created May 16, 2016 05:58 — forked from liangzan/.Xresources
Xresources for configuring urxvt
! urxvt
URxvt*buffered: true
URxvt*cursorBlink: true
URxvt*underlineColor: yellow
URxvt*font: xft:inconsolata:size=10:antialias=true
URxvt*depth: 32
URxvt*borderless: 1
URxvt*scrollBar: false
URxvt*loginShell: true
Urxvt*secondaryScroll: true # Enable Shift-PageUp/Down in screen
@shiva
shiva / rfind-git-status.sh
Last active December 29, 2016 21:30
List the status of all the git repos found at any depth in the current repo
$ for d in `find . -name ".git"`; do \
echo "processing $d ..."; \
git --git-dir=$d --work-tree=$d/.. status; \
done
@shiva
shiva / Makefile-AutoHelp
Last active November 1, 2015 23:38 — forked from prwhite/Makefile
Add a help target to a Makefile that will allow all targets to be self documenting
# Add the following 'help' target to your Makefile
# And add help text after each target name starting with '\#\#'
help: ## Show help
@IFS=$$'\n' ; \
help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##/:/'`); \
printf "%-10s %s\n" "target" "help" ; \
printf "%-10s %s\n" "------" "----" ; \
for help_line in $${help_lines[@]}; do \
IFS=$$':' ; \
@shiva
shiva / Makefile
Last active April 6, 2018 05:34 — forked from wolfeidau/Makefile
Standard NodeJS make file.
REPORTER = spec
.PHONY: test tap unit jshint skel help
all: jshint test ## Run all targets
test: ## Run tests
@NODE_ENV=test ./node_modules/.bin/mocha --recursive --reporter $(REPORTER) --timeout 3000
jshint: ## Run Static Analysis