Git has support for detecting renaming of files, so if you are lucky it will help you with that. The following is an approximate draft of what you should do.
Import the original version:
tar zxvf open-source-project-0.1.tar.gz
mv open-source-project-0.1 open-source-project
cd open-source-project
git init
git add .
git commit -m "Initial checkin of open-source-project-0.1"
git tag open-source-project-0.1
Now you can apply your original changes in a separate branch:
git checkout -b mychanges
cp /somewhere/where/your/changes/files/are/* .
git diff
git add .
git commit -m "My changes"
git tag my_changes_001
Then you update to the newer version:
git checkout master
tar zxvf open-source-project-0.2.tar.gz
mv open-source-project-0.2/* .
rmdir open-source-project-0.2
git add .
git commit -m "Update to open-source-project-0.2"
git tag open-source-project-0.2
So far everything is checked in into the git repository, now is the time to start to try to merge your changes:
git checkout -b merge_test open-source-project-0.2
git pull . my_changes_001
Good luck...
If you want to merge files manually I really recommend using KDiff3. Assuming file1.c is from open-source-project-0.1, file2.c from open-source-project-0.2 and file3.c from your changes, run
kdiff3 -o merged_file.c file1.c file2.c file3.c