Ben Coman wrote
> An interesting challenge.  I've had a go at it and got it as far as I can
> without knowing Magritte.

Thanks for the push! Not knowing all that much about git, I tried a
different way and seem to have successfully rebuilt the master branch of my
fork (https://github.com/seandenigris/Magritte3) on top of the master from
the upstream, based on the last shared (content) commit (upstream 51f648b vs
fork 47df0a5, both titled "[FIX]: Respect action shortcuts…")

In case it helps anyone in the future, here is what I did:
1. Create new branch from upstream master and revert to 51f648b
2. Create git log of commits from fork's first divergent commit (bff9c25
"Dynamic Options…") to HEAD, via git log `47df0a5..eedd386 --pretty=fuller >
../export.txt`
3. For each commit in log:
  a. `git mv source repository` - temporarily rename "source" (code
subfolder from upstream) to "repository" (subfolder from fork) to ease
merging
  b. `git cherry-pick -n $sha1` (where sha1 = e.g. bff9c25) - replay changes
without committing
  c. `git rm -f */methodProperties.json` and then `git rm -f */version` -
remove metadata, since upstream commits are metadata-less
  d. `git reset HEAD` - reset git so it forgets about steps a and c, which
are just to conform the fork commits to upstream, but leaves the actual
changes in place
  e. `mv repository/ source`
  f. `git add -A` - inform git about all changes now that everything is how
we want it
  g. `git commit --date="Sun Mar 25 22:57:40 2018 -0400" -m "Fix #17…"
--author="Sean DeNigris <git...@clipperadams.com>"`- commit preserving
original author and author date

The above process was eased by a single Pharo helper class, `GitCommit`,
which parsed the log from #2 above into domain objects and created and
executed the commands in #3. I used quick and dirty `LibC system:…` messages
instead of libgit since I'm a novice and the whole task was a hack.

Now my fork's master is branched off upstream master, so hopefully that
eases integration of my enhancements. I'm not exactly sure how to proceed
from here, so suggestions welcome…



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply via email to