Commit f6ff20ec authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Fix for getting only non-existing or newer files from externals

parent ac6ed8e9
Loading
Loading
Loading
Loading
+26 −2
Original line number Diff line number Diff line
@@ -49,9 +49,33 @@ if [ $found_yaml == 1 ] ; then
    exit 0
fi

#Copying all references except if they already exist and source files are older
cp -u externals/*.yaml ./
#Check if externals directory exists and contains yaml files
if [ -d "externals" ] && [ -n "$(find externals -name '*.yaml')" ]; then
    echo "Processing external YAML files..."
    for external_file in externals/*.yaml; do
        base_name=$(basename "$external_file")
        if [ -f "./$base_name" ]; then
            # Get last commit timestamps for both files
            external_timestamp=$(cd externals && git log -1 --format=%ct "$(basename $external_file)")
            current_timestamp=$(git log -1 --format=%ct "$base_name" 2>/dev/null || echo "0")
            
            if [ "$external_timestamp" -gt "$current_timestamp" ]; then
                echo "Updating $base_name from externals (newer version found in Git history)"
                cp "$external_file" "./$base_name"
            else
                echo "Keeping existing $base_name (newer or same age in Git history)"
            fi
        else
            # File doesn't exist in current directory, copy it
            echo "Copying new file $base_name from externals"
            cp "$external_file" "./"
        fi
    done
else
    echo "No external YAML files to process"
fi

#Proceed with validation
fres=0
LOG=""
ERR=""