Drew Short
9 years ago
4 changed files with 109 additions and 100 deletions
-
2.gitignore
-
1Changelog
-
103scripts/bootstrap.sh
-
103scripts/tools.sh
@ -0,0 +1,2 @@ |
|||||
|
# Ignore all emacs temp files |
||||
|
*~ |
@ -0,0 +1 @@ |
|||||
|
Adding Initial Change Log Entry |
@ -0,0 +1,103 @@ |
|||||
|
#!/usr/bin/env bash |
||||
|
|
||||
|
# Tools for the scripts |
||||
|
|
||||
|
# Make a backup of the existing file if it exists |
||||
|
# Then link to our supplied dotfile |
||||
|
link() { |
||||
|
# Only make a backup if an existing file is there and is not a link |
||||
|
if [ -f "$1/$2" ] && [ ! -L "$1/$2" ]; then |
||||
|
cp "$1/$2" "$1/$2.old" |
||||
|
echo "Backed up original $2 to $1/$2.old" |
||||
|
fi |
||||
|
ln -sf "$3" "$1/$2" |
||||
|
} |
||||
|
|
||||
|
copy() { |
||||
|
# Only make a backup if an existing directory is there and is not a link |
||||
|
# Allow passing true as third param to do backups |
||||
|
backup=true |
||||
|
if [ ! -z "$4" ]; then |
||||
|
backup=$4 |
||||
|
fi |
||||
|
overwrite=false |
||||
|
if [ ! -z "$5" ]; then |
||||
|
overwrite=$5 |
||||
|
fi |
||||
|
if [ -f "$1/$2" ] || [ -L "$1/$2" ]; then |
||||
|
if $backup; then |
||||
|
mv "$1/$2" "$1/$2.old" |
||||
|
echo "Backed up original $2 to $1/$2.old" |
||||
|
else |
||||
|
if $overwrite; then |
||||
|
rm -r "$1/$2" |
||||
|
echo "removed original $2" |
||||
|
fi |
||||
|
fi |
||||
|
fi |
||||
|
# Should probably only do this is the source is newer |
||||
|
# Remove the old and copy the new |
||||
|
if $overwrite; then |
||||
|
cp -r "$3" "$1/$2" |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
link_dir() { |
||||
|
# Only make a backup if an existing directory is there and is not a link |
||||
|
if [ -d "$1/$2" ] && [ ! -L "$1/$2" ]; then |
||||
|
mv "$1/$2" "$1/$2.old" |
||||
|
echo "Backed up original $2 to $1/$2.old" |
||||
|
fi |
||||
|
|
||||
|
# Don't overwrite links |
||||
|
if [ ! -L "$1/$2" ]; then |
||||
|
echo "ln -sf $3 $1/$2" |
||||
|
ln -sf "$3" "$1/$2" |
||||
|
fi |
||||
|
} |
||||
|
|
||||
|
copy_dir() { |
||||
|
# Only make a backup if an existing directory is there and is not a link |
||||
|
if [ -d "$1/$2" ] || [ -L "$1/$2" ]; then |
||||
|
# Allow passing true as third param to do backups |
||||
|
backup=true |
||||
|
if [ ! -z "$3" ]; then |
||||
|
backup=$4 |
||||
|
fi |
||||
|
if $backup; then |
||||
|
mv "$1/$2" "$1/$2.old" |
||||
|
echo "Backed up original $2 to $1/$2.old" |
||||
|
else |
||||
|
rm -r "$1/$2" |
||||
|
echo "removed original $2" |
||||
|
fi |
||||
|
fi |
||||
|
# Should probably only do this is the source is newer |
||||
|
# Remove the old and copy the new |
||||
|
cp -r "$3" "$1/$2" |
||||
|
} |
||||
|
|
||||
|
# Escape the path so we can use it in sed |
||||
|
escape_path() { |
||||
|
local safe="$(echo $1 | sed 's/\//\\\//g')" |
||||
|
echo $safe |
||||
|
} |
||||
|
|
||||
|
# Clone a git repository into a location |
||||
|
clone_git_repo() { |
||||
|
local target=$1 |
||||
|
local repo=$2 |
||||
|
if [ ! -d "$target" ]; then |
||||
|
mkdir -p "$target" |
||||
|
echo "Cloning [$repo] into [$target]" |
||||
|
git clone "$repo" "$target" |
||||
|
else |
||||
|
# Update the repo otherwise |
||||
|
echo "Updating [$repo]" |
||||
|
cur_dir=$PWD |
||||
|
cd "$target" |
||||
|
git checkout . |
||||
|
git pull |
||||
|
cd $cur_dir |
||||
|
fi |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue