https://forum.librecad.org/HOWTO-Compiling-LibreCAD-with-Visual-Studio-2003-and-Qt-4-3-1-tp5108768p5109094.html
- I have cloned the LibreCAD/LibreCAD Git, made a local working copy at home and comitted changes back to my clode Git - so far this seems all right.
- As I understand, I can issue a "push request", so that the powers that be can incorporate my changes to the "master" repository - is this right?
- How can I update changes that occur in LibreCAD/LibreCAD into my repository tin-pot/LibreCAD? Do I initiate this explicitly ("pull")? How are changes merged? How are conflicts going to be resolved (in SVN parlance)?
I found it's easier for me to keep another remote:
Let's say I have my local repository /home/dli/github/LibreCAD cloned from my repository:
https://github.com/dxli/LibreCAD
$ cd /home/dli/github
$ git clone
[hidden email]:dxli/LibreCAD.git
$ cd /home/dli/github/LibreCAD
Now add a remote "upstream" to it
$ git remote add upstream
[hidden email]:LibreCAD/LibreCAD.git
( the LibreCAD/LibreCAD is added as remote named "upstream" )
$ git fetch --all
( the fetches remote refs to local, you only need to run it once here, most likely)
$ git checkout -f -b LC upstream/master
( this checks out the master branch of upstream to a local branch named LC )
$ git checkout master
$ git merge LC
Later on, you simply run the following to merge upstream changes,
$ git checkout LC
$ git pull
$ git checkout master
$ git merge LC
On another topic, I stumbled across the usage of isnormal() in rs_arc.cpp, rs_ellipse.cpp, rs_modification.cpp: is the intent really to exclude denormals (and of course zero, INFs and NANs) or is it meant to check if a value is finite and nonzero, maybe with a lower bound on magnitude? And if so, are infinities purposefully used in LibreCAD?
std::isnormal() is used to verify the number is not zero (of cause, not NAN/INF). We use it to tell the difference between ellipse arc and whole ellipses. For example, an ellipse arc has start/end angles, if both are set to be exactly zero ( isnormal() = false), we treat the ellipse arc as an whole ellipse. This is different from an whole range arc, because an arc from 0 to 2 Pi will still have a start/end point, while a whole ellipse has no start/end point.
I suppose std::isnormal() is C++ standard, we just have to figure out how to use it in windows.
Thanks and happy holidays!