ShabbyX / RTAI

(NO LONGER MAINTAINED) Clone of RTAI from https://www.rtai.org
28 stars 17 forks source link

Merging with vulcano is catastrophic #18

Closed ShabbyX closed 10 years ago

ShabbyX commented 10 years ago

@NTULINUX I just found out that 87ca360d0ce95c037b4a5bb912d0413719b2d1b9 which was a merge with vulcano has had catastrophic results. Many of your following commits are a result of that and there are still parts that are broken. The parts that I identified, I can fix, but god knows where else there is a problem. For example, that commit removes int kerrno; from base/include/rtai_sched.h.

Now the strangest part is that looking at the history (git log --patch) the commit that adds int kerrno; is found, but the commit that removes it (which I manually found out to be that merge with vulcano) doesn't show removal of this line at all! Basically git show for that merge just shows the conflicts, which are mostly cleaned up files which are not of interest.

In short, somehow git had decided to silently replace a lot of changes in magma with the non-existing change in vulcano and revert a lot of stuff, and call it a successful merge. The error in particular seems to be because in 861b7bf6731c940495fcfea187167ce0cf69d5b8 I have somehow managed to merge magma into vulcano (which is wrong) and then overwrite it with the actual contents of the vulcano and then make a commit.

That said, until further notice, refrain from playing around with the repository. I'll have to spend some time rebasing some stuff to get around that mistake.

ShabbyX commented 10 years ago

I removed removed the error, cherry-picking whatever was useful after that.

I removed vulcano branch completely. vulcano would just be whatever is in RTAI's official repo, which if anyone is interested in, they can take from there directly. magma is useful to have since we constantly merge with it.

I took the liberty of removing some old branches (master-old and linuxcnc-old for example) as well as your more recent linuxcnc branch. The later I did because it was based on the "bad" master and as you had said it was broken. You probably have it in your local repository, so you can salvage whatever useful thing there is from it and create a new linuxcnc branch based on the now "good" master.

Sorry about the mess.