Some FreeCAD development stats

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:727
src/Mod/Fem:148
src/Mod/Path:129
src/Mod/Draft:102
src/Mod/Arch:98
src/Mod/TechDraw:90
src/Mod/Material:37
src/Mod/Sketcher:34
src/Mod/AddonManager:31
src/Mod/Part:28
src/Mod/PartDesign:23
src/Mod/Mesh:20
src/Mod/MeshPart:17
src/Mod/Web:5
src/Mod/Start:5
src/Mod/Image:5
src/Mod/Spreadsheet:4
src/Mod/Robot:4
src/Mod/ReverseEngineering:3
src/Mod/Raytracing:3
src/Mod/Measure:3
src/Mod/Drawing:3
src/Mod/Tux:2
src/Mod/Test:2
src/Mod/Ship:2
src/Mod/Plot:2
src/Mod/OpenSCAD:2
src/Mod/Import:2
src/Mod/Idf:2
src/Mod/Assembly:1
src/Mod/TemplatePyMod:0
src/Mod/Surface:0
src/Mod/Show:0
src/Mod/Sandbox:0
src/Mod/Points:0
src/Mod/JtReader:0
src/Mod/Inspection:0
src/Mod/Complete:0
src/Mod/Cam:0

Code: Select all

$ ./stats.sh 
src/Mod/                    +406096,  -223586
src/Mod/TechDraw            +123999,  -22587
src/Mod/Draft               +80451,   -62654
src/Mod/Path                +55024,   -48786
src/Mod/Arch                +52698,   -35173
src/Mod/Sketcher            +34333,   -32807
src/Mod/AddonManager        +22995,   -1106
src/Mod/Fem                 +22129,   -10581
src/Mod/Part                +2604,    -1172
src/Mod/Raytracing          +2572,    -2543
src/Mod/Plot                +1634,    -1634
src/Mod/Material            +1545,    -528
src/Mod/MeshPart            +1359,    -488
src/Mod/Mesh                +1142,    -593
src/Mod/Web                 +1072,    -338
src/Mod/PartDesign          +915,     -658
src/Mod/Robot               +768,     -773
src/Mod/Spreadsheet         +539,     -539
src/Mod/Start               +249,     -603
src/Mod/Measure             +229,     -195
src/Mod/Drawing             +122,     -122
src/Mod/Image               +114,     -107
src/Mod/ReverseEngineering  +89,      -89
src/Mod/Ship                +33,      -33
src/Mod/OpenSCAD            +12,      -12
src/Mod/Idf                 +11,      -9
src/Mod/Import              +9,       -5
src/Mod/Tux                 +7,       -7
src/Mod/Test                +5,       -7
src/Mod/Assembly            +1,       -1
src/Mod/TemplatePyMod       +0,       -0
src/Mod/Surface             +0,       -0
src/Mod/Show                +0,       -0
src/Mod/Sandbox             +0,       -0
src/Mod/Points              +0,       -0
src/Mod/JtReader            +0,       -0
src/Mod/Inspection          +0,       -0
src/Mod/Complete            +0,       -0
src/Mod/Cam                 +0,       -0
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Commits in last 3 months:

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:762
src/Mod/Fem:188
src/Mod/TechDraw:146
src/Mod/Path:118
src/Mod/Draft:97
src/Mod/Arch:44
src/Mod/PartDesign:43
src/Mod/Part:42
src/Mod/Mesh:21
src/Mod/Sketcher:20
src/Mod/AddonManager:12
src/Mod/OpenSCAD:9
src/Mod/Start:7
src/Mod/Spreadsheet:7
src/Mod/Import:6
src/Mod/Inspection:5
src/Mod/Test:4
src/Mod/Robot:4
src/Mod/Raytracing:4
src/Mod/MeshPart:4
src/Mod/Material:4
src/Mod/Web:3
src/Mod/Points:3
src/Mod/Drawing:3
src/Mod/Assembly:3
src/Mod/Sandbox:2
src/Mod/ReverseEngineering:2
src/Mod/Complete:2
src/Mod/TemplatePyMod:1
src/Mod/Surface:1
src/Mod/Image:1
src/Mod/Idf:1
src/Mod/Cloud:1
src/Mod/Cam:1
src/Mod/Tux:0
src/Mod/Show:0
src/Mod/Ship:0
src/Mod/Plot:0
src/Mod/Measure:0
src/Mod/JtReader:0
Changes in last 3 months:

Code: Select all

$ ./stats_3_months.sh 
src/Mod/                    +222455,  -57596
src/Mod/Fem                 +155254,  -9617
src/Mod/TechDraw            +20991,   -13413
src/Mod/Draft               +11391,   -5039
src/Mod/Path                +8439,    -3534
src/Mod/OpenSCAD            +4942,    -10455
src/Mod/Arch                +3657,    -3131
src/Mod/Sketcher            +3444,    -1265
src/Mod/PartDesign          +3290,    -2372
src/Mod/Part                +2677,    -1965
src/Mod/Drawing             +2323,    -2242
src/Mod/Mesh                +1766,    -814
src/Mod/Web                 +701,     -886
src/Mod/Start               +502,     -280
src/Mod/AddonManager        +391,     -48
src/Mod/Robot               +384,     -241
src/Mod/Inspection          +366,     -330
src/Mod/ReverseEngineering  +346,     -652
src/Mod/Raytracing          +284,     -379
src/Mod/Test                +179,     -168
src/Mod/Image               +177,     -243
src/Mod/Points              +131,     -71
src/Mod/Spreadsheet         +130,     -41
src/Mod/Material            +127,     -30
src/Mod/Import              +127,     -68
src/Mod/Complete            +105,     -150
src/Mod/Idf                 +77,      -77
src/Mod/MeshPart            +43,      -14
src/Mod/TemplatePyMod       +11,      -11
src/Mod/Cam                 +7,       -7
src/Mod/Surface             +2,       -2
src/Mod/Sandbox             +2,       -2
src/Mod/Assembly            +2,       -4
src/Mod/Cloud               +1,       -1
src/Mod/Tux                 +0,       -0
src/Mod/Show                +0,       -0
src/Mod/Ship                +0,       -0
src/Mod/Plot                +0,       -0
src/Mod/Measure             +0,       -0
src/Mod/JtReader            +0,       -0
Contenet of the script if you want to compare your local repo stats:

Code: Select all

$ cat stats_3_months.sh 
#!/bin/bash

MODS=$(find src/Mod/ -maxdepth 1 -type d)
>stats
for MOD in $MODS
do
   echo -n $MOD >> stats
   git log --numstat --pretty="%H" --since "3 months" $MOD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf(" +%d, -%d\n", plus, minus)}' >> stats
done
cat stats | sort -k2 -t+ -n -r | column -t
chrisb
Veteran
Posts: 54225
Joined: Tue Mar 17, 2015 9:14 am

Re: Some FreeCAD development stats

Post by chrisb »

Interesting. I'm surprised about the Sketcher changes. Are they documented?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

chrisb wrote: Thu Feb 27, 2020 10:15 am Interesting. I'm surprised about the Sketcher changes. Are they documented?
The commits:

Code: Select all

localhost:/home/przemo/software/FreeCAD/freecad
$ find src/Mod/Sketcher/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] " 
39959f9500 App: add new convenient class SubObjectT
c01c1f7fde Sketcher: add option to disable leaving sketch with Esc button
1e7e459533 Sketcher: [skip ci] fix -Wunused-private-field
16b2b9a864 Sketcher: split huge settings page into two pages
f22607a617 Sketcher: [skip ci] add create polygon command to sketcher menu
f2c83ac46b remove program-specific SVG namespaces
e0f1079f1f Sketcher: [skip ci] explicit command to stop current operation
d3ee556467 [SK]change coincident point icon
37c896d41a Sketcher - improve text readability on dark themes
f97eb7026d fixes #0004182: Segfault when clicking constraints from a different viewport [skip ci]
1276920fea [Sketcher] Better ToggleActiveConstraint icon by @bitacovir
e88eecc754 [Sketcher] Improve ToggleActiveConstraint icon (mainly increase disambiguation with ToggleConstraint icon)
61c88918bc Rename Sketcher icons
28d67eba2e Issue ID 0004230 : Fixing a crash in chamfer command. Putting a null check for the function return value [skip ci]
5442dfbbcc Sketcher: [skip ci] force redraw after using rubberband selection
b2ffebf1c0 Sketcher: [skip ci] fix header uniformity
4bcb43ebd2 Base: [skip ci] make UnitSystem an enum class
ed8ba392c2 Sketcher: Constraint_Parallel, new icon, with the parallel lines of different lenghts, so that the constraint isn't mistaken for the equal lengths constraint.
e7ee5fe777 Tooltips: added missing tooltips + refined pre-existing
379d041664 Fix typos and some trailing whitespace
b2ffebf1c0 Sketcher: [skip ci] fix header uniformity
39959f9500 App: add new convenient class SubObjectT
c01c1f7fde Sketcher: add option to disable leaving sketch with Esc button
1e7e459533 Sketcher: [skip ci] fix -Wunused-private-field
16b2b9a864 Sketcher: split huge settings page into two pages
f22607a617 Sketcher: [skip ci] add create polygon command to sketcher menu
f2c83ac46b remove program-specific SVG namespaces
e0f1079f1f Sketcher: [skip ci] explicit command to stop current operation
d3ee556467 [SK]change coincident point icon
37c896d41a Sketcher - improve text readability on dark themes
f97eb7026d fixes #0004182: Segfault when clicking constraints from a different viewport [skip ci]
1276920fea [Sketcher] Better ToggleActiveConstraint icon by @bitacovir
e88eecc754 [Sketcher] Improve ToggleActiveConstraint icon (mainly increase disambiguation with ToggleConstraint icon)
61c88918bc Rename Sketcher icons
28d67eba2e Issue ID 0004230 : Fixing a crash in chamfer command. Putting a null check for the function return value [skip ci]
5442dfbbcc Sketcher: [skip ci] force redraw after using rubberband selection
b2ffebf1c0 Sketcher: [skip ci] fix header uniformity
4bcb43ebd2 Base: [skip ci] make UnitSystem an enum class
ed8ba392c2 Sketcher: Constraint_Parallel, new icon, with the parallel lines of different lenghts, so that the constraint isn't mistaken for the equal lengths constraint.
e7ee5fe777 Tooltips: added missing tooltips + refined pre-existing
379d041664 Fix typos and some trailing whitespace
b2ffebf1c0 Sketcher: [skip ci] fix header uniformity
chrisb
Veteran
Posts: 54225
Joined: Tue Mar 17, 2015 9:14 am

Re: Some FreeCAD development stats

Post by chrisb »

Thanks for the list. There are quite some changes under the hood. Glad to see that the new coincidence icon made it already into the docs.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Commits in last 3 months:

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline --since '3 months' [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:1367
src/Mod/Fem:349
src/Mod/Draft:338
src/Mod/Path:271
src/Mod/TechDraw:180
src/Mod/Arch:85
src/Mod/PartDesign:43
src/Mod/Part:32
src/Mod/Mesh:30
src/Mod/Sketcher:29
src/Mod/AddonManager:19
src/Mod/ReverseEngineering:15
src/Mod/Spreadsheet:13
src/Mod/Assembly:8
src/Mod/MeshPart:7
src/Mod/Cloud:7
src/Mod/Raytracing:6
src/Mod/Start:5
src/Mod/Robot:5
src/Mod/Image:4
src/Mod/Web:3
src/Mod/Test:3
src/Mod/Points:3
src/Mod/OpenSCAD:3
src/Mod/Import:3
src/Mod/Drawing:3
src/Mod/Tux:2
src/Mod/Ship:2
src/Mod/Plot:2
src/Mod/TemplatePyMod:1
src/Mod/Surface:1
src/Mod/Material:1
src/Mod/Show:0
src/Mod/Sandbox:0
src/Mod/Measure:0
src/Mod/JtReader:0
src/Mod/Inspection:0
src/Mod/Idf:0
src/Mod/Complete:0
src/Mod/Cam:0
Changes in last 3 months:

Code: Select all

$ ../stats_in_3_months.sh 
src/Mod/                    +686860,  -524974
src/Mod/TechDraw            +176463,  -99281
src/Mod/Draft               +163546,  -201059
src/Mod/Path                +90577,   -46355
src/Mod/Arch                +90498,   -64819
src/Mod/Sketcher            +77659,   -65716
src/Mod/Mesh                +21442,   -10779
src/Mod/Fem                 +16047,   -13322
src/Mod/ReverseEngineering  +13892,   -2523
src/Mod/MeshPart            +9916,    -2915
src/Mod/AddonManager        +6112,    -3743
src/Mod/PartDesign          +3756,    -913
src/Mod/Raytracing          +3550,    -3445
src/Mod/Drawing             +3425,    -3427
src/Mod/Part                +2701,    -1412
src/Mod/Points              +1671,    -949
src/Mod/OpenSCAD            +1522,    -1522
src/Mod/Spreadsheet         +1443,    -347
src/Mod/Robot               +677,     -680
src/Mod/Start               +493,     -470
src/Mod/Web                 +480,     -432
src/Mod/Cloud               +275,     -179
src/Mod/Test                +221,     -206
src/Mod/Image               +156,     -146
src/Mod/Ship                +150,     -150
src/Mod/Assembly            +123,     -123
src/Mod/TemplatePyMod       +23,      -22
src/Mod/Plot                +23,      -23
src/Mod/Tux                 +18,      -18
src/Mod/Import              +12,      -6
src/Mod/Material            +3,       -3
src/Mod/Surface             +1,       -1
src/Mod/Show                +0,       -0
src/Mod/Sandbox             +0,       -0
src/Mod/Measure             +0,       -0
src/Mod/JtReader            +0,       -0
src/Mod/Inspection          +0,       -0
src/Mod/Idf                 +0,       -0
src/Mod/Complete            +0,       -0
src/Mod/Cam                 +0,       -0
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Some FreeCAD development stats

Post by PrzemoF »

Changes since 0.20:

Code: Select all

$ find src/Mod/ -maxdepth 1 -type d | xargs -I [] sh -c "echo -n []: && git log --oneline  0.20..HEAD [] | wc -l" | sort -k2 -n -t: -r
src/Mod/:2807
src/Mod/TechDraw:490
src/Mod/Fem:451
src/Mod/Sketcher:400
src/Mod/Part:329
src/Mod/Path:296
src/Mod/Draft:225
src/Mod/AddonManager:187
src/Mod/PartDesign:172
src/Mod/Arch:148
src/Mod/Mesh:143
src/Mod/Spreadsheet:99
src/Mod/MeshPart:61
src/Mod/Import:59
src/Mod/OpenSCAD:58
src/Mod/Points:56
src/Mod/Test:55
src/Mod/Start:45
src/Mod/Robot:41
src/Mod/Web:40
src/Mod/Material:34
src/Mod/ReverseEngineering:32
src/Mod/Inspection:31
src/Mod/Surface:30
src/Mod/Drawing:25
src/Mod/Tux:18
src/Mod/Measure:14
src/Mod/Sandbox:5
src/Mod/TemplatePyMod:4
src/Mod/Show:3
src/Mod/Plot:3
src/Mod/JtReader:3
src/Mod/Idf:3
src/Mod/Cloud:2
Post Reply