Git’ting Emu48

(DRAFT)

https://www.hpcalc.org/details/3644

Creating the repo

git init

From 1.37 Emu48 is distributed as a `setup.exe` which I needed to install in Wine:

  for e in Emu48v137Setup.exe \
	       Emu48v138Setup.exe \
	       Emu48v140Setup.exe \
	       Emu48v141Setup.exe \
	       Emu48v142Setup.exe \
	       Emu48v144Setup.exe \
	       Emu48v145Setup.exe \
	       Emu48v147Setup.exe \
	       Emu48v148Setup.exe \
	       Emu48v149Setup.exe \
	       Emu48v150Setup.exe \
	       Emu48v153Setup.exe \
	       Emu48v155Setup.exe \
	       Emu48v156Setup.exe \
	       Emu48v157Setup.exe \
	       Emu48v158Setup.exe \
	       Emu48v159Setup.exe \
	       Emu48v160Setup.exe \
	       Emu48v161Setup.exe \
	       Emu48v162Setup.exe \
	       Emu48v163Setup.exe \
	       Emu48v164Setup.exe \
	       Emu48v165Setup.exe \
	       Emu48v166Setup.exe ; do
      WINEPREFIX=~/wine-Emu48 conty wine $e;
  done

Once this was done these versions were applied in git:

  for e in "2005-06-14: Updated to version 1.37" \
	       "2005-09-03: Updated to version 1.38" \
	       "2005-12-17: Updated to version 1.40" \
	       "2006-05-14: Updated to version 1.41" \
	       "2006-11-24: Updated to version 1.42" \
	       "2007-08-04: Updated to version 1.44" \
	       "2007-09-25: Updated to version 1.45" \
	       "2008-05-11: Updated to version 1.47" \
	       "2009-08-01: Updated to version 1.48" \
	       "2009-08-29: Updated to version 1.49" \
	       "2010-07-31: Updated to version 1.50" \
	       "2012-09-15: Updated to version 1.53" \
	       "2013-09-14: Updated to version 1.55" \
	       "2014-10-18: Updated to version 1.56" \
	       "2015-08-15: Updated to version 1.57" \
	       "2016-09-11: Updated to version 1.58" \
	       "2017-08-15: Updated to version 1.59" \
	       "2018-01-24: Updated to version 1.60" \
	       "2018-08-18: Updated to version 1.61" \
	       "2019-10-16: Updated to version 1.62" \
	       "2020-09-30: Updated to version 1.63" \
	       "2021-10-01: Updated to version 1.64" \
	       "2022-07-31: Updated to version 1.65" \
	       "2023-09-17: Updated to version 1.66"; do
      ver=$(echo $e | grep -o "[0-9.]*$");
      rsync -Ha --delete --exclude .git ~/wine-Emu48/drive_c/Program\ Files\ \(x86\)/HP-Emulators/Emu48-$ver/ ./;
      git add *;
      git commit -sam "$e";
      git tag "$ver";
  done
  git push
  git push --tags

Then I realized I forgot the 20th anniversary release (https://www.hpcalc.org/details/8654) which while the source is the same is nice the document in the history. So onto inserting it between 1.59 and 1.60: First installing it

  WINEPREFIX=~/wine-Emu48 conty wine ./Emu48v159Setup20thAnn.exe

Then branch out a temp branch from 1.59 and layering 1.59 20th anniversary onto 1.59

  git checkout -b temp 1.59
  rsync -Ha --exclude .git --delete ~/wine-Emu48/drive_c/Program\ Files\ \(x86\)/HP-Emulators/Emu48-1.59anniv/ ./
  git add *
  git commit -sam "2017-08-19: Emu48 20th Anniversary"
  git tag 1.59.a

Finally rebase main onto temp

  git rebase temp main
  git branch -d temp

Now I had to re-tag 1.60 and later. I first deleted the tags

  for t in "1.60" "1.61" "1.62" "1.63" "1.64" "1.65" "1.66"; do
      git tag -d $t;
      git push --delete origin $t;
  done

and then retagged the commits in Magit