GSoC pgRouting first period communications

Hi @bipashabg @wifi @Saloni-2005

I am opening this topic for communications during the first coding period.

Week 2:
We decided that we are going to slightly change the way we include whatever is happening on the pgRouting main repo.
For that matter when I did to make that change happen, is I went and merged your branches with pgr/develop and pushed. Solved conflicts, and the PR looks cleaner for us to review. Except for @wifi 's PR.

@wifi you forced push
image

Please for the sake of the program

  • try not to force push.
  • Please merge your (valid) PR and close your (invalid) PR’s before we start our meetings.
  • Do not delete any branch you create.
  • List all your good and bad PR on your reports.
    • add a comment on the bad PR of why you are closing for example:
      • "Closing in favor of PR #number
      • Force pushed and now I cant recover, will start over on PR #number
      • Too many changes in one go, and now I am getting too many errors, will work it out slower on PR #number

Even that now your branch has all the commits of pgr/develop, They still show on your PR.

So please start a new week-2-king-minimum-ordering-try2 branch from scratch:

git fetch origin
git checkout wifi-2025
git switch -c week-2-king-minimum-ordering-try2

Regards

Sorry @cvvergara,

I’m a bit confused after running the following commands:

git fetch origin  
git checkout wifi-2025  
git switch -c week-2-king-minimum-ordering-try2  

It seems that my work from week-1 has disappeared. You mentioned, ā€œplease start a new week-2-king-minimum-ordering-try2 branch from scratchā€ — does this mean I need to completely redo the work I did in week-1?

This week was quite hectic for me due to exams, a report, and a tennis match, so I didn’t make much progress. There are still a few things I’m struggling to understand. Would you happen to have time this week for another meeting? I believe that would really help me clear up my confusion and get back on track with my work.

Thanks in advance!

Best regards,

wifi

origin = your fork
upstream should be the main GSoC repo

git fetch upstream
git checkout upstream/wifi-2025
git switch -c week-2-king-minimum-ordering-try2

If you have done work in any other branch say branch foo:

git log --one-line foo

with show something like the commit number and commit message:

eb9155ca60 did this
c12f658f74 did that
e70aeadb1e renamed this
9404143ce0 renamed that
4ee3462848 deleted this
d6b7fabd49 deleted that

Then you can bring that work to the branch:

git cherry-pick e70aeadb1e
git cherry-pick 9404143ce0
...

Please push your work as soon as possible before Tuesday June 10.

@Saloni-2005
You left many files that need to be deleted.
please read in your PR the last comment I made, first delete the files that I indicate from your branch, specially delete run.sh you added at the root of the branch.

Having that file in the branch will delete the setup I have on my computer for my work, as it has the things I need for my computer, not the things you need in your computer. You see, I use my computer not yours so I don’t need your set up.

Once you delete the files lots of my comments will disappear.

Regards

@bipashabg
I went to your changes I just added a couple of comments.
one about the license, the other about you modifying tools/developer/run.sh
Maybe you will have conflicts in the future because that is a file you are not supposed to modify. so you can either roll back the change (aka make a commit where you change the 17 back to the original 15), or checkout the file form develop branch of the main repo.

But in general term everything looks what is expected for this second week.

@wifi
Its my friday, I do not review on weekends.
Please re-read: GSoC week 1 comments about (pgRouting) continuous work
I dont see any work done.
I can not review.
Next week:

  • I want your first commit of the week by my Monday morning
  • I want to see commits from you all 5 days

This is a warning.
Regards
Vicky

Hi @wifi, (CC: @cvvergara),

I’m a bit confused after running the following commands:

git fetch origin  
git checkout wifi-2025  
git switch -c week-2-king-minimum-ordering-try2  

It seems that my work from week-1 has disappeared. You mentioned, ā€œplease start a new week-2-king-minimum-ordering-try2 branch from scratchā€ — does this mean I need to completely redo the work I did in week-1?

About above your question, your week-1 work hasn’t disappeared (at least on remote upstream GitHub repository).

GitHub PullRequest (PR) only shows the differences between target branch (upstream/wifi-2025) and your current working branch (origin/week-2-king-minimum-ordering-try2).
Since your week-1 work (Week 1 king and minimumdegree ordering by wifiBlack Ā· Pull Request #444 Ā· pgRouting/GSoC-pgRouting Ā· GitHub) was already merged into upstream/wifi-2025 branch, you can still find your week-1 work in the commits history (Commits Ā· pgRouting/GSoC-pgRouting Ā· GitHub) around June 8.

As for the commands, it’s better to use the following last night ones which Vicky mentioned:

origin = your fork
upstream should be the main GSoC repo

git fetch upstream
git checkout upstream/wifi-2025
git switch -c week-2-king-minimum-ordering-try2

This ensures you’re starting your new week-2 branch cleanly from the current upstream wifi-2025 which includes your week-1 work, as intended.


Would you happen to have time this week for another meeting? I believe that would really help me clear up my confusion and get back on track with my work.

I am available during daytime this weekend, since our time zones are close and I don’t have plans to go out.
Feel free to message me about 1 hour before you would like to meet.

Best regards,

Hi @cvvergara ,

I’m really sorry for the delay. I encountered some issues with my local repository earlier this week and spent quite some time trying to fix them, but unfortunately didn’t manage to resolve it in time. That’s why there hasn’t been visible progress.

I understand the importance of continuous and timely commits. Moving forward, I will make sure to push my first commit by your Monday morning, and I will try my best to commit consistently every day during the work week so that it’s easier for mentors to review my work.

I’ll also ensure that my current tasks are completed and submitted by Sunday.

Thank you for your understanding.

Best regards,
wifi

1 Like

Hello everyone ,
I’ve reached this position, but I’m currently stuck. Could someone please guide me on what steps to follow next to reach the stage where I can see SQL results whether it’s passes or failed?

Best Rgards,
Saloni Kumari

Same, I’m stuck here too. How should we proceed next?

I dont see command, to replicate your output. Please dont post images, do copy paste and sorround with triple back tick

That is what I see while compiling your try3 branch.

bash run.sh 
pgRouting VERSION 4.0.0
------------------------------------
------------------------------------
....
[ 27%] Building CXX object src/dijkstra/CMakeFiles/dijkstra.dir/dijkstraVia_driver.cpp.o
/home/vicky/pgrouting/pgrouting/cvvergara/src/metrics/metrics_driver.cpp:41:10: fatal error: c_types/graph_bandwidth_rt.h: No such file or directory
   41 | #include "c_types/graph_bandwidth_rt.h"  // <- Your actual result type
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
....
/home/vicky/pgrouting/pgrouting/cvvergara/src/metrics/metrics_process.cpp: In function ā€˜void pgr_process_metrics(const char*, GraphBandwidth_rt**, size_t*, char**, char**)’:
/home/vicky/pgrouting/pgrouting/cvvergara/src/metrics/metrics_process.cpp:76:13: warning: unused variable ā€˜start_t’ [-Wunused-variable]
   76 |     clock_t start_t = clock();
      |             ^~~~~~~
/home/vicky/pgrouting/pgrouting/cvvergara/src/metrics/metrics_process.cpp:61:17: warning: unused parameter ā€˜edges_sql’ [-Wunused-parameter]
   61 |     const char* edges_sql,
      |     ~~~~~~~~~~~~^~~~~~~~~
[ 38%] Building CXX object src/pickDeliver/CMakeFiles/pickDeliver.dir/vehicle.cpp.o
...

I can imagine that you have the following on your run.sh:

                                                                                                                        
QUERIES_DIRS="
metrics
ordering
"                                                                                                                       
    

Please leave like:

                                                                                                                        
QUERIES_DIRS="
"                                                                                                                       
                                                                                                                        
TAP_DIRS="                                                                                                              
"        

After doing so , this is what I got :

bash run.sh
pgRouting VERSION 4.0.0
------------------------------------
------------------------------------
Compiling with G++-
------------------------------------


Execute documentation queries
--------------------------------------------
--------------------------------------------
Execute tap_directories
--------------------------------------------
--------------------------------------------
pgTap test all
--------------------------------------------
NOTICE: database "___pgr___test___" does not exist, skipping
5432
5432
~/GSoC-pgRouting/tools/testers ~/GSoC-pgRouting
NOTICE: installing required extension "postgis"
ERROR: could not find function "_pgr_bandwidth" in file "/usr/lib/postgresql/16/lib/libpgrouting-4.0.so"

Could you please tell me once which all file we need to make for our algorithm , to see whether it passes or fails ?

Best Regads ,
Saloni Kumari

Testing is going to addressed with more detail on week four meeting.

1 Like

I left a comment on how to approach this week changes in your week 4 PR

Hi, @cvvergara , @robe ,
My network is dead yesterday when talking about how to solve the problem which @robe comment in my week3 PR:

It looks like you merged develop with your week-3 and you didn't do the same 
with pgrouting:wifi-2025. 
Please rebase pgRouting:wifi-2025 with develop and rebase again your week-3-king-minDegree-ordering against wifi-2025.

So after learning more about how rebase works. I try to solve it myself:

git checkout wifi-2025

# I will delete the pgr remote laterly
git fetch pgr
git fetch upstream
git merge pgr/develop
git merge upstream/develop

# to solve the conflict
vi locale/en/LC_MESSAGES/pgrouting_doc_strings.po
vi locale/pot/pgrouting_doc_strings.pot

git add .
git commit

git checkout week-4-king-minimum-ordering
git rebase wifi-2025
git push -f

Then my git log is as below:

3a1d19e996 (HEAD -> week-4-king-minimum-ordering, origin/week-4-king-minimum-ordering) just to start the new week
d8eb5189bd Adds basic structure of test for king and minimum degree
c240593e9f Updates king ordering functionality and includes related files
aa9b05d8a5 Refactor minDegreeOrdering function parameters. Reach a stable stage.
0ba8b2994a Removes unused code
dce04143b8 Fix the parameter of the function pgr_minDegreeOrdering
6fb0eb9efb Change all minimumDegree into minDegree
e63a0e2c1c Update include in ordering_driver.cpp
83043edec8 Remove which variable equals 0
cf10ef0930 Duplicate repeated include
04c3736c79 Delete run.sh
0e01158e26 Comment out ordering SQL and C files in CMakeLists.txt temporarily
84acd3fc80 Adds ordering driver and process implementation
0dae108f5f Get run.sh to work on my macOS
9f371589ee (wifi-2025) Merge remote-tracking branch 'pgr/develop' into wifi-2025

But I find my PR of week-4 become messy immediately! :smiling_face_with_tear:
I’m worry about doing something wrong! :mask:

Should I delete this week-4 branch & PR and create a new PR of this week? Or there is a better way to fix it?

Thanks for your guidance and patience!

I went to see your week-4-pr
Why?
you made a force push:
image

I told you not to make force pushes
and not only that, you updated the repository with develop contents

In a previous communication (somewhere) I mentioned not to force push
And in our last meeting we told you not to update with pgrouting development.

I will consider that you were on the meeting at very odd times for your timezone.
Please dont do it again.
I will try to fix as much as I can specially for the pull request.

@wifi

Sorry for some reason could not fix the PR to remove my commits.
Please read the instructions first and then follow them

So you will need to start over:
upstream = GSoC main repo

git fetch upstream
git checkout upstream/wifi
git switch -c week-4  week-4-king-minimum-ordering-try2

now I can see a lot of commits on the week-4-king-minimum-ordering branch
You need to recover them:

git cherry pick  3a1d19e .. 0dae108 

or maybe:

git cherry pick  0dae108 .. 3a1d19e 

Not sure because the just to start a new week is the last commit and should be the first one

I got those commit numbers from the PR:

 Get run.sh to work on my macOS                          0dae108
 Adds ordering driver and process implementation         84acd3f
      ...

Adds basic structure of test for king and minimum degree d8eb518
just to start the new week                               3a1d19e

If the sequence style did not work then do each one in order: (reverse of what is shown on the PR I would think because the "just to start the new week " would be the first one.

git cherry-pick 3a1d19e
git cherry-pick d8eb518
...
git cherry-pick 84acd3f
git cherry-pick 0dae108

After recovering them push and make the PR with the new branch.

Please DO NOT MERGE with pgr/develop

Thank you for your guidance, @cvvergara .
I got through my problem! :smiley: