Combining lines into a single line

i have a file (where the column values are separated by ' and the text can be enclosed in ~) which contains data in form of

4461,2,~Basic: 
        2 Years/Unlimited Miles

Drivetrain: 
        Gas Engine
        2 Years/Unlimited Miles
        Duramax Engine
        3 Years/Unlimited Miles
        Caterpillar Engine
        3 Years/150,000 Miles

        Manual Trans
        2 Years/Unlimited Miles
        Auto Trans MT643/MT653/MD3060/MD3560
        2 Years/Unlimited Miles
        Auto Trans AT545/2000P/2400P
        3 Years/Unlimited Miles

Corrosion: 
        5 Years/Unlimited Miles~
4457,2,~Basic: 
        2 Years/Unlimited Miles

Drivetrain: 
        Gas Engine
        2 Years/Unlimited Miles
        Duramax Engine
        3 Years/Unlimited Miles
        Caterpillar Engine
        3 Years/150,000 Miles

        Manual Trans
        2 Years/Unlimited Miles
        Auto Trans MT643/MT653/MD3060/MD3560
        2 Years/Unlimited Miles
        Auto Trans AT545/2000P/2400P
        3 Years/Unlimited Miles

Corrosion: 
        5 Years/Unlimited Miles~

now i need to convert the file data in

4461,2,~Basic:         2 Years/Unlimited Miles Drivetrain:         Gas Engine        2 Years/Unlimited Miles        Duramax Engine        3 Years/Unlimited Miles        Caterpillar Engine        3 Years/150,000 Miles        Manual Trans        2 Years/Unlimited Miles        Auto Trans MT643/MT653/MD3060/MD3560        2 Years/Unlimited Miles        Auto Trans AT545/2000P/2400P        3 Years/Unlimited MilesCorrosion:         5 Years/Unlimited Miles~
4457,2,~Basic:         2 Years/Unlimited MilesDrivetrain:         Gas Engine        2 Years/Unlimited Miles        Duramax Engine        3 Years/Unlimited Miles        Caterpillar Engine        3 Years/150,000 Miles        Manual Trans        2 Years/Unlimited Miles        Auto Trans MT643/MT653/MD3060/MD3560        2 Years/Unlimited Miles        Auto Trans AT545/2000P/2400P        3 Years/Unlimited MilesCorrosion:         5 Years/Unlimited Miles~

Have you tried anything? for a start you can use a Basic: as a flag and only print newlines when your extended newly created line ends line ends

awk 'FNR==1  {printf("%s ", $0); next }    # print the first line with no newline  and continue reading the next line first time we see Basic:
       /Basic:$/  {print ""}  # print new line because we already came to the end, this is the second time we see Basic:
       Here you print each line with no newline - you code it.
       END{print "" }   # print the last newline   because there are no more line to read
      '  inputfile > outputfile

Try also

awk '/Basic/ && NR > 1 {printf RS} 1; END {printf RS}' ORS="" file