u/FireDragonSoftware

I need help testing SHARK, my C++20 version control project, on Windows (since I only use Arch Linux and have no way to test it).

Hello everyone,

I'm a self-taught developer and I'm building a version control system from scratch called SHARK in C++20 to improve my system architecture skills.

The problem is: I'm a pure Arch Linux user and I don't have a Windows environment to test cross-platform compatibility.

I want to ensure that the source code compiles and runs correctly on Windows (using MSVC, Clang, or MinGW) before proceeding with refactoring my checkout logic.

Could someone on Windows download the repository, try compiling it, and let me know if any specific errors or warnings occur?

Here's the GitHub repository: [link in comments]

Any feedback on the code structure or portability tips would be greatly appreciated. Thanks in advance!

reddit.com
u/FireDragonSoftware — 15 hours ago

Building a Git clone called Shark from scratch in C++20: I just implemented SHA-256 history chaining, commit persistence, and ran into a problem with the status function.

Hello everyone,

Continuing my journey of studying low-level systems over the last two months here in Brazil, I'd like to share my progress on the Git clone I'm building.

Yesterday was quite an adventure. I managed to compile some complex features with 100% success:

Commit Persistence: Saving states correctly to disk.

SHA-256 History Chaining: Creating a cryptographic chain where each commit generates the hash of the previous one to ensure integrity.

I used AI as a co-pilot to speed up the complex syntax and repetitive code, but I made sure to understand the data flow and file buffer behind it.

The Mess: Right after that, I tried to implement a complex status function. I messed up the architecture, the code became a total mess, and I failed. Instead of accumulating bad code, I decided to revert to the last stable version and I'm restarting this specific function from scratch today.

I know my code is still simple and that I don't have a 100% grasp of modern C++, but I'm here to learn. If anyone wants to take a look at the architecture or give me some tips on how to structure a clean status check on the command line, I would greatly appreciate the code review!

Thank you in advance for your time on this code review. The repository link is in the comments.

reddit.com
u/FireDragonSoftware — 1 day ago

[Code Review] Shark – A minimalist file/version management tool in C++20 (Seeking feedback on design and performance)

Hello everyone,

I'm a beginner in the world of C++ and I apologize in advance for any beginner mistakes I made in the codes. because I've only been at this for 2 months besides being in software engineering college. But I will be very happy to correct them.

I'm currently developing Shark, a lightweight command-line utility for file and version management, written in C++20. It's still pretty basic though. My long-term vision for Shark is to build a lightweight, open-source alternative to tools like Perforce, specifically optimized for game engine asset management (handling large binary files like textures and audio efficiently without the overhead of standard Git).

Where am I now:

Since this is a huge undertaking, I'm strictly focusing on building a solid foundation before moving on to compression or networking. Right now, I've just completed the core basic logic of the init, status and add and commit commands.

The last time I posted, I received incredible feedback from a senior developer here in the community regarding some flaws in my code, and I immediately addressed them. I thank you immensely. It was an extremely revealing experience for me.

Now, for the basic commands in the folder (src/core/comands), I would be immensely grateful if you could do a rigorous critical analysis of my code or point out where I can improve, I know it's too simple but I'm already taking care of the missing features.

Link to Repository on GitHub: In the comments.

Reddit is a bit aggressive with links in posts so if the xomentarium link is taken down my username is KauanSystems and the name of the repository is Shark, thank you very much in advance for your attention.

reddit.com
u/FireDragonSoftware — 9 days ago