Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewritten Git History, Including Historical History from CVS #57

Closed
da2ce7 opened this issue Feb 17, 2020 · 4 comments
Closed

Rewritten Git History, Including Historical History from CVS #57

da2ce7 opened this issue Feb 17, 2020 · 4 comments

Comments

@da2ce7
Copy link
Contributor

da2ce7 commented Feb 17, 2020

The old cvs commit history was sadly misplaced when with project transitioned to Git.

I have taken an effort to restore this old history in a methodical way.

Please See:
https://github.com/da2ce7/gnofract4d/tree/master_upon_cvs

Steps Taken:

  • Found old CVS History:

https://sourceforge.net/p/gnofract4d/cvs/

  • Used reposurgeon to convert the old CVS to Git.

Info and Makefile used here:
https://github.com/da2ce7/gnofract4d/tree/master_upon_cvs_notes/doc/cvs_to_git_info

  • Made extra commits to remove files that were not re-included:

53aadab remove 'elephant-valley' website testing ground
3df7132 remove old fractal parameter files
ed3c35a remove old utility files
dd18635 remove old translation files
2b27bd5 now we use git

  • Rebased upon old commits:

used Script:
https://github.com/da2ce7/gnofract4d/blob/master_upon_cvs_notes/doc/cvs_to_git_info/rebase_script.sh

and notes:
https://github.com/da2ce7/gnofract4d/blob/master_upon_cvs_notes/doc/cvs_to_git_info/notes_on_rebase.md

  • Compared Output to Verify that the files of the most-recent commit hasn't changed:

git show -s --format="%T" 0e414d3d4b37f9fe7c38693532f7a3eb4a8e341d 4d3cbbae4375c0a88b52f1270d4e68e27672e7b8 0e414d3
git show -s --format="%T" 8575586b1dbc5c6b52cdde9a072dc27dc393ba16 4d3cbbae4375c0a88b52f1270d4e68e27672e7b8 (da2ce7@8575586)

How to Update:
If you have the desire, you may wish to move the offical repository to this version:

User the commands:

  1. Add me as one of your remotes:
    git remote add da2ce7 [email protected]:da2ce7/gnofract4d.git
  2. Fetch Commits and Tags:
    git fetch --tags da2ce7
  3. Make Backup of Master:
    git checkout -b original_master master
  4. Make Branch for New Master:
    git checkout -b new_master da2ce7/master_upon_cvs
  5. Verify that the file tree is the same:
    git show -s --format="%T" original_master
    git show -s --format="%T" new_master
    (compare hashes as to be the same)
  6. Hard Reset your master to the new_master:
    git checkout master
    git reset --hard new_master
  7. Final, force-push the new master to github
    git push --force
    git push --tags

I hope you find this interesting, I believe it important to keep this old history available.

@edyoung
Copy link
Member

edyoung commented Feb 18, 2020

Thanks! Really appreciate the effort. To be honest I'm a little surprised anyone cares enough about the ancient pre-GitHub history of the project to take the trouble. Unfortunately it may take a while for me to look at the steps you've listed above because I'm rather busy at the moment. Hopefully this will not impede any new development in the interim.

@da2ce7
Copy link
Contributor Author

da2ce7 commented Feb 19, 2020

This is fine. I will merge any accepted the pull requests into my master_upon_cvs branch also.

Updated hashes after #56

@da2ce7
Copy link
Contributor Author

da2ce7 commented Feb 20, 2020

Updated with a more robust process and better documentation.

@da2ce7
Copy link
Contributor Author

da2ce7 commented Apr 20, 2020

closed for new issue: #84

@da2ce7 da2ce7 closed this as completed Apr 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants