| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | #!/bin/bash# Go trough all the files available in this folder.commonFiles=();for sourceFile in .*; do	# Exclude some files.	if [[ "$sourceFile" == "install_unattended.sh" || "$sourceFile" == "install.sh" ]] || [[ "$sourceFile" == "README.md" ]] || [[ "$sourceFile" == "." ]] || [[ "$sourceFile" == ".." ]] || [[ "$sourceFile" == ".git" ]]; then		continue;	fi;	# Set the target path for the source file.	# We'll port them to the ~/ (home) directory.	targetFile="$HOME/$sourceFile";	# The file already exists.	if [ -e "$targetFile" ]; then		# The source and target point to the same file, continue.		[ "$sourceFile" -ef "$targetFile" ] && continue;		# The content of the file is the same, continue.		diff -rq "$sourceFile" "$targetFile" > /dev/null 2>&1 && continue;		# The source file is another file than our dotfile.		# Store it in the commonFiles array so we can back it up.		commonFiles+=("$sourceFile");	fi;done;# Show the files that will be overwritten.conflictCount=${#commonFiles[@]};# Create a suffix with a timestamp so the user can see which# files and when they've been backupped.backupSuffix=".jsVimconfig-$(date +'%Y%m%d-%H%M%S')";# Rename the conflicting files as backup.for sourceFile in "${commonFiles[@]}"; do	targetFile="$HOME/$sourceFile";	mv -v "$targetFile" "$targetFile$backupSuffix";done;# Symlink the files in the home dir by those in the dotfiles repo.for sourceFile in .*; do	# Exclude some files.	if [[ "$sourceFile" == "install_unattended.sh" || "$sourceFile" == "install.sh" ]] || [[ "$sourceFile" == "README.md" ]] || [[ "$sourceFile" == "." ]] || [[ "$sourceFile" == ".." ]] || [[ "$sourceFile" == ".git" ]]; then		continue;	fi;	targetFile="$HOME/$sourceFile";	# Delete the old file and replace it by the symlink.	rm -rf "$targetFile" &&	ln -vs "$PWD/$sourceFile" "$targetFile";done;# This will add a tag to our prompt, so we know which environment we're in.# It is adaptable in ~/.bash_environmenttouch ~/.bash_environment;echo -e "export __prompt_environment='[DEVELOPMENT] '" | tee ~/.bash_environment > /dev/null;
 |