#!/usr/bin/env bash

eval BRANCH_NAME=""
eval DIRECTORY="tmp"
eval HEAD_SHA_BRANCH=""

show_help() {
    echo "Usage: affected-folder.sh"
    echo ""
    echo "-b branch name"
    echo "-folder"
}

branch_name(){
    BRANCH_NAME=$1
}

folder_name(){
    FOLDER_NAME=$1
}

while [[ $1  == -* ]]; do
    case "$1" in
      -b)  branch_name $2; shift 2;;
      -f)  folder_name $2; shift 2;;
      -*) echo "invalid option: $1" 1>&2; show_help; exit 0;;
    esac
done

if [[ "$BRANCH_NAME" == "" ]]
then
    echo "The branch name is mandatory"
    exit 0
fi

if [[ "$FOLDER_NAME" == "" ]]
then
    echo "The folder name is mandatory"
    exit 0
fi

HEAD_SHA_BRANCH="$(git merge-base origin/$BRANCH_NAME HEAD)"
#echo "Branch name $BRANCH_NAME HEAD sha " $HEAD_SHA_BRANCH

if git diff --name-only $HEAD_SHA_BRANCH  HEAD | grep "^${FOLDER_NAME}" &> /dev/null
then
    echo ${FOLDER_NAME}
fi