Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PZOJ (original repo) is far behind PZOJ-contest #5

Closed
kevlu8 opened this issue Aug 31, 2024 · 9 comments
Closed

PZOJ (original repo) is far behind PZOJ-contest #5

kevlu8 opened this issue Aug 31, 2024 · 9 comments
Assignees

Comments

@kevlu8
Copy link
Member

kevlu8 commented Aug 31, 2024

This fork was meant to be a fork of PZOJ with contest-specific functionality, such as live leaderboards and a more locked down environment. However, I am a shit developer, and have pushed many QoL changes as well as crucial bug fixes to the contest repo instead of the original repo. This has resulted in the original repo being several versions behind of the contest repo.

Some examples of changes implemented in pzoj-contest but not in pzoj are:

  • The JID system (and by extension, parallel judging)
  • seccomp and grading in /tmp
  • Behind-by-one bug fix during submission grading
  • Streamlined communication between judge and web backend

At this point, we have 2 options:

  1. Deprecate pzoj, and instead add both contest functionality and upsolving functionality to pzoj-contest
  2. Manually re-commit all changes from pzoj-contest to pzoj

There might also be another option using some kind of git magic that allows us to merge repos excluding certain lines, but I am by no means a git expert.

@wdotmathree
Copy link
Member

I am also no git expert so the solution I would go with would be to run a git merge --no-ff in the original repo and then resolve the massive merge conflict after. However I don't believe this is an optimal solution at all and any help with finding a better solution would be greatly appreciated.

@kevlu8
Copy link
Member Author

kevlu8 commented Aug 31, 2024

Another issue is how we can continue forward - will we need to commit changes to both pzoj and pzoj-contest? This is resolved through option 1, but option 1 will likely require another rewrite of the codebase.

@kevlu8
Copy link
Member Author

kevlu8 commented Sep 1, 2024

Option 1 is likely more scalable in the future as well. I'm honestly leaning towards doing option 1, but this rewrite may take a few weeks, especially since school has started and I cannot rot in my room all day.

@kevlu8
Copy link
Member Author

kevlu8 commented Sep 13, 2024

I have started working on option 1, which involves (another) rework of the web backend. ETA for completion is around 2 weeks.

@wdotmathree
Copy link
Member

wdotmathree commented Sep 14, 2024

Could we get that as a T-shirt size please, it would really help with keeping us on track. Additionally, please free up time in your schedule for 7hrs of meetings every day to track the progression of this change.

@kevlu8
Copy link
Member Author

kevlu8 commented Sep 14, 2024

🖕

1 similar comment
@wdotmathree
Copy link
Member

🖕

@kevlu8
Copy link
Member Author

kevlu8 commented Sep 21, 2024

ETA for completion has been pushed back, since I have expert level time management skills and can definitely balance my school work with working on projects.

@kevlu8
Copy link
Member Author

kevlu8 commented Nov 18, 2024

It has been a hot minute but the changes have been pushed. The only things left to do are to re-implement the leaderboard in a more streamlined fashion and potentially refactor some old code.

@kevlu8 kevlu8 closed this as completed Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants