tidy up for public access, insert converter for repo change
This commit is contained in:
10
README
10
README
@@ -8,7 +8,15 @@ cd $( dirname $0 )/bin
|
|||||||
|
|
||||||
(
|
(
|
||||||
echo Add the tools to PATH by sourcing the "rc" in this folder
|
echo Add the tools to PATH by sourcing the "rc" in this folder
|
||||||
|
|
||||||
|
echo -e "\n===== COMMANDS IN qcd_function ====="
|
||||||
|
echo -e "===================================="
|
||||||
|
|
||||||
|
grep "^function " -A 1 ../qcd_function
|
||||||
|
|
||||||
|
|
||||||
|
echo -e "\n===== COMMANDS IN bin/ ====="
|
||||||
|
echo -e "============================"
|
||||||
for e in *; do
|
for e in *; do
|
||||||
test -x $e || continue
|
test -x $e || continue
|
||||||
echo -e "\n===== $e =====\n"
|
echo -e "\n===== $e =====\n"
|
||||||
|
|||||||
18
qcd_function
18
qcd_function
@@ -1,4 +1,5 @@
|
|||||||
function cd_history () {
|
function cd_history () {
|
||||||
|
# Function that replaces "cd". It stores visited folder in ~/.bash_cdhistory
|
||||||
local old
|
local old
|
||||||
local p
|
local p
|
||||||
local b
|
local b
|
||||||
@@ -17,6 +18,7 @@ function cd_history () {
|
|||||||
alias cd=cd_history
|
alias cd=cd_history
|
||||||
|
|
||||||
function hcd() {
|
function hcd() {
|
||||||
|
# History cd. Run without arguments to see list of entries, give number to change cwd.
|
||||||
local d
|
local d
|
||||||
|
|
||||||
if [ -z "$1" ]
|
if [ -z "$1" ]
|
||||||
@@ -31,6 +33,7 @@ function hcd() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function qcd() {
|
function qcd() {
|
||||||
|
# cd command, that jumps to folders visited in the near history, or user bookmarked folders
|
||||||
local OPTIND
|
local OPTIND
|
||||||
local OPTARG
|
local OPTARG
|
||||||
local opt
|
local opt
|
||||||
@@ -156,6 +159,7 @@ Keeps a history of folders visited in ~/.bash_cdhistory
|
|||||||
}
|
}
|
||||||
|
|
||||||
function whenfilechanges() {
|
function whenfilechanges() {
|
||||||
|
# Run a command when file(s) time stamp changes
|
||||||
echo "Version: 2015-10-13"
|
echo "Version: 2015-10-13"
|
||||||
[ -z "$2" ] && { echo 'Usage: whenfilechanges "file" "some" "command"
|
[ -z "$2" ] && { echo 'Usage: whenfilechanges "file" "some" "command"
|
||||||
Follows the modification time of the "file" and runs the command
|
Follows the modification time of the "file" and runs the command
|
||||||
@@ -202,7 +206,7 @@ function whenfilechanges() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function gcd() {
|
function gcd() {
|
||||||
# guess cd, find first match in folder, or ask if multiple hits
|
# guess cd, find first match in folder, or ask if multiple hits
|
||||||
local cdto
|
local cdto
|
||||||
{ cdto=$( python -c '
|
{ cdto=$( python -c '
|
||||||
import sys,os,re
|
import sys,os,re
|
||||||
@@ -278,7 +282,7 @@ sys.stderr.write(os.path.join(pat_dir,key_match))
|
|||||||
}
|
}
|
||||||
|
|
||||||
function rmv () {
|
function rmv () {
|
||||||
#mv with rsync
|
# mv files/folders with rsync (shows speed and progress)
|
||||||
local sources
|
local sources
|
||||||
sources=()
|
sources=()
|
||||||
# remove / from ends, if target is an existing folder
|
# remove / from ends, if target is an existing folder
|
||||||
@@ -329,6 +333,7 @@ function ised () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function foldermenu_prompt {
|
function foldermenu_prompt {
|
||||||
|
# Function to add in PS prompt variable, enabling foldermenu support
|
||||||
[ -f .foldermenu ] && {
|
[ -f .foldermenu ] && {
|
||||||
foldermenu -lf 10 $@ || echo -n "*"
|
foldermenu -lf 10 $@ || echo -n "*"
|
||||||
} || {
|
} || {
|
||||||
@@ -337,12 +342,10 @@ function foldermenu_prompt {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _tools-update {
|
function _tools-update {
|
||||||
|
# update self
|
||||||
|
[[ -z "$TOOLSPATH" ]] || return
|
||||||
[[ -w "$TOOLSPATH" ]] || return
|
[[ -w "$TOOLSPATH" ]] || return
|
||||||
touch "$TOOLSPATH"/.lastupdate
|
"$TOOLSPATH"/rc -u
|
||||||
[[ -w "$TOOLSPATH"/.lastupdate ]] || return
|
|
||||||
pushd "$TOOLSPATH" > /dev/null
|
|
||||||
hg pull -u 2>&1
|
|
||||||
popd > /dev/null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function qbg {
|
function qbg {
|
||||||
@@ -360,6 +363,7 @@ function set_term_title {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function path_add_current {
|
function path_add_current {
|
||||||
|
# Add current folder to PATH
|
||||||
export PATH=$( echo $(pwd):$PATH | awk -F: '{for (i=1;i<=NF;i++) { if ( !x[$i]++ ) printf("%s:",$i); }}' | sed 's,:\+$,,g' )
|
export PATH=$( echo $(pwd):$PATH | awk -F: '{for (i=1;i<=NF;i++) { if ( !x[$i]++ ) printf("%s:",$i); }}' | sed 's,:\+$,,g' )
|
||||||
echo PATH=$PATH
|
echo PATH=$PATH
|
||||||
}
|
}
|
||||||
|
|||||||
35
rc
35
rc
@@ -13,21 +13,50 @@ export PATH
|
|||||||
function _self_update() {
|
function _self_update() {
|
||||||
touch "$TOOLSPATH"/.lastupdate
|
touch "$TOOLSPATH"/.lastupdate
|
||||||
pushd "$TOOLSPATH" > /dev/null
|
pushd "$TOOLSPATH" > /dev/null
|
||||||
timeout 5 hg pull -u > /dev/null 2>&1 &
|
[[ "$1" = "-u" ]] && {
|
||||||
|
hg pull -u
|
||||||
|
} || {
|
||||||
|
timeout 5 hg pull -u > /dev/null 2>&1
|
||||||
|
}
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
[[ "$1" = "-u" ]] && _self_update
|
function _change_hg_repo() {
|
||||||
|
[[ -w "$TOOLSPATH"/.hg ]] || return
|
||||||
|
[[ -w "$TOOLSPATH"/.hg/hgrc ]] || return
|
||||||
|
grep -q moonq.kapsi.fi/repo/ "$TOOLSPATH"/.hg/hgrc && {
|
||||||
|
echo -e "Converting read only repository to bitbucket\n"
|
||||||
|
sed 's,\s*default\s*=.*moonq.kapsi.fi.*,default = https://bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc \
|
||||||
|
| diff "$TOOLSPATH"/.hg/hgrc -
|
||||||
|
sed -i 's,\s*default\s*=.*moonq.kapsi.fi.*,default = https://bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc
|
||||||
|
}
|
||||||
|
grep -q moonq.kapsi.fi/repoz/ "$TOOLSPATH"/.hg/hgrc && {
|
||||||
|
echo -e "Converting writable repository to bitbucket\n"
|
||||||
|
sed 's,\s*default\s*=.*moonq.kapsi.fi.*,default = ssh://hg@bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc \
|
||||||
|
| diff "$TOOLSPATH"/.hg/hgrc -
|
||||||
|
echo
|
||||||
|
sed -i 's,\s*default\s*=.*moonq.kapsi.fi.*,default = ssh://hg@bitbucket.org/MoonQ/tools,' "$TOOLSPATH"/.hg/hgrc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Update self weekly
|
[[ "$1" = "-u" ]] && _self_update -u
|
||||||
|
|
||||||
|
# Update self weekly,
|
||||||
|
# if folder writable, if repository, if an interactive terminal, if not updated the last week
|
||||||
[[ -w "$TOOLSPATH" ]] || return
|
[[ -w "$TOOLSPATH" ]] || return
|
||||||
|
[[ -w "$TOOLSPATH"/.hg ]] || return
|
||||||
[[ -t 0 ]] || return
|
[[ -t 0 ]] || return
|
||||||
[[ -t 1 ]] || return
|
[[ -t 1 ]] || return
|
||||||
[[ -t 2 ]] || return
|
[[ -t 2 ]] || return
|
||||||
[[ -f "$TOOLSPATH"/.lastupdate ]] || touch -t 0101010101 "$TOOLSPATH"/.lastupdate 2> /dev/null
|
[[ -f "$TOOLSPATH"/.lastupdate ]] || touch -t 0101010101 "$TOOLSPATH"/.lastupdate 2> /dev/null
|
||||||
[[ -w "$TOOLSPATH"/.lastupdate ]] || return
|
[[ -w "$TOOLSPATH"/.lastupdate ]] || return
|
||||||
|
|
||||||
|
_change_hg_repo
|
||||||
|
unset -f _change_hg_repo
|
||||||
|
|
||||||
TOOLS_LASTUPDATE=$(( $( date +%s ) - $( stat -c %Y "$TOOLSPATH"/.lastupdate ) ))
|
TOOLS_LASTUPDATE=$(( $( date +%s ) - $( stat -c %Y "$TOOLSPATH"/.lastupdate ) ))
|
||||||
[[ "$TOOLS_LASTUPDATE" -gt 604800 ]] && _self_update
|
[[ "$TOOLS_LASTUPDATE" -gt 604800 ]] && _self_update
|
||||||
unset TOOLS_LASTUPDATE
|
unset TOOLS_LASTUPDATE
|
||||||
unset -f _self_update
|
unset -f _self_update
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user