How to sync to an older version?

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

How to sync to an older version?

Postby Julio Jerez » Mon Apr 13, 2015 11:40 am

with the Old Torstoi, it was very eassy to compare revisions.

you just click SyncToRevision and select for the list showed in Show Log

with the GitHub of TorstoiGit this is impossible or at least I can no figure out how.

I spend the howl; weekend try to figure out how to sync to and older version, but every thong I try implied that it will crate new Change List that need to be committed, this is quiet terrible.

In the past few week I intruded a bad Bug that is generation Bad contact and bad solver result etc. I suspect it is a Bug in the math library it should be quiets easy to just Get and older version and run the test to see if thw bug is there, and so on until I find the last version that did no have the Bug, and fix it.

But with the New GibHub is almost impossible.

Does anyone knwop how to sgnc to an older vesaion with out changing the repository?
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: How to sync to an oldr version?

Postby Crashy » Mon Apr 13, 2015 4:28 pm

Maybe doing a secondary clone and sync it to the desired version, and then compare them manually using Winmerge or such a tool ?

That's not that comfortable but do it like that regularly.
Crashy
 
Posts: 101
Joined: Fri Dec 03, 2010 6:30 am

Re: How to sync to an older version?

Postby Julio Jerez » Tue Apr 14, 2015 10:49 am

wow!!, I found a Bug that is in the engine for ten years now, it is in this functions

Code: Select all
dgInt32 dgCollisionConvexPolygon::CalculatePlaneIntersection (const dgVector& normalIn, const dgVector& origin, dgVector* const contactsOut, dgFloat32 normalSign) const


basically this is supposed to calculate the intersection segment of a convex polygon with a plane

the problem Is that at the intersection point I was calculating the point like this
Code: Select all
         maxDist = dgMax (maxDist, side0);
         contactsOut[count] = p0 - plane.Scale3 (side0);
         count ++;

when it should be like this
Code: Select all
            dgFloat32 t = plane % dp;
            dgAssert (dgAbsf (t) >= dgFloat32 (0.0f));
            if (dgAbsf (t) < dgFloat32 (1.0e-8f)) {
               t = dgSign(t) * dgFloat32 (1.0e-8f);   
            }
            contactsOut[count] = p0 - dp.Scale3 (side0 / t);



I always though that some time a plane collision was estrange and attributed to numerical errors.
in reality that was a bug.
The reason it was no always obvious is because t is almost away 1.0, but on the occasions that is not it genera a contact slightly off from where was supposed to be.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: How to sync to an older version?

Postby zak » Mon Apr 27, 2015 1:01 pm

Julio Jerez wrote:In the past few week I intruded a bad Bug that is generation Bad contact and bad solver result etc. I suspect it is a Bug in the math library


I have seen you are very active in the last days.
Is the bad Bug fixed now?
I am on 3.11, can i safely sync on latest version?
zak
 
Posts: 87
Joined: Mon Dec 06, 2004 9:30 am

Re: How to sync to an older version?

Postby Julio Jerez » Tue Apr 28, 2015 8:34 am

you can synbc to the later yes. I foud teh bug a few days ago.
The work I am doing now is consolidating the parellel and simgle sover so that teh both use teh same low level functions.
There is is till a problem, but it si insulated, and does not affect the engine.

When I complet that It likd ethat both parallefl and single solve yiedding the same solution, that is no happeing now and it is bothering me for a long time.

but yes you cna sync to laters.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 0 guests

cron