GitJournal/dart-git

Feedback planned PR for fixing CI, implementing Commit command, and more testing

Closed this issue · 1 comments

Hello

As a user of gitjournal, I'm thrilled with its performance. However, the zombie files bug is causing some impatience on my end due to its impact on my workflow.

So I had a "fine, I will do it myself" moment.
Followed by a see how deep the Rabbit Hole goes moment.

To get my feet wet, I decided to start fixing up ci. It is failing on the linting config. After confirming the deprecation, I removed the lines.

Then, it started complaining about out-of-date actions. So I updated them.

These two changes are worth a PR of their own. Let me know if you are interested.

But the tests still failed. In particular, the reset test is on Mac OS. After attempting to figure it out, I have come to the following conclusion.

The reset test is trying to rest a repo without any commits. I've replicated it on my Windows machine and use Ubuntu.
The same rest command also errors on a fresh git repo on a cloud VPS.

I see three solutions:

  • Failing the reset is a valid test case. But then the asserts are wrong.
  • The fixture could be broken because it contains no commits. In this case, the fixture should be updated.
  • Lastly, adding two commits during the test case can prevent this mess.

I chose the third solution. However, I realized that the commit command is not implemented as of jet.

I plan to implement the commit command and then update the reset test to create the commits that will be reset.

Before I start a big journey to implement everything, I want your thoughts on my chosen solution. Do you want to see the commit command implemented? Do you have bigger plans for the library or for testing it? 

I'd love to hear from you while I continue hacking on this stuff.

-wvanderp

Ps. I love how you test the implementation against the "real" git, even though the framework can use some work.

Hey. Apologies for not responding. I'm just getting back into GitJournal.

Honestly, any PR which improves the situation and fixes a bug (with a test) is welcomed. Implementing a 'git commit' command sounds great.

Ps. I love how you test the implementation against the "real" git, even though the framework can use some work.

I'm questioning this, as I think maybe using the real git, but saving the snapshot of how the git repo looks after running the command might have been better. Especially since at one point I even tried to compare outputs.

Not sure.

Nowdays, since I don't work much on GitJournal, I just plan to fix bugs, and make it more stable. So I often think I bit off more than I can chew and should replace more parts of dart-git with go-git or gitoxide, but since neither of them support 'merge' operations, I'm not sure.

I keep finding small small bugs in my git implementation.