HackerLangs
TopNewTrendsCommentsPastAskShowJobs

videlov

297 karmajoined hace 7 años
email: [email protected] twitter: @krlvi founder: https://gitbutler.com

Submissions

20 Years of Git, 2 days at GitHub HQ: Git Merge 2025 highlights

github.blog
2 points·by videlov·hace 9 meses·0 comments

comments

videlov
·anteayer·discuss
I was interested in answering this question so I built a benchmark comparing git, jj and gitbutler in agentic context

https://vcbench.dev/

Disclaimer - I am a co-founder of GitButler
videlov
·hace 30 días·discuss
Surprised to see they kept Tauri. In our experience of using Tauri, it has been a significant source of compatibility and performance issues related to it's use of WebKit and WebKitGTK. So much so that we have started an effort of migrating away from it for our app, in favor of Electron (https://github.com/gitbutlerapp/gitbutler/tree/master/apps/l...) The choice was made specifically for the benefit of our users, but we were also pleasantly surprised by how much better the development experience is with it.
videlov
·hace 3 meses·discuss
We will remove the hook constraint as soon as we complete this https://github.com/gitbutlerapp/gitbutler/issues/11866

For the Claude question, the CLI ships a skill, set it up with `but skill install`.

I hope this helps
videlov
·hace 8 meses·discuss
The app has a built-in mechanism for going back in time (an operations log) which can be used for undoing situations that should not arise in the first place. It can be accessed via the app (there's a history tab) as well as via the CLI https://docs.gitbutler.com/commands/but-oplog

NB - the CLI version of GitButler is not yet at feature parity with the graphical version of the app yet
videlov
·hace 8 meses·discuss
You are right - it is something we did intentionally, but I would like to learn more from your use case - what is the reason to prefer isolation of changes?

Is it the case that you wish to have multiple agents working on the same task and then picking the best implementation? Or do you have a reason to prefer multiple tasks to be implemented in complete isolation from one another?
videlov
·hace 8 meses·discuss
(co-founder of gb here) I am really sorry for the frustration - the app should do better and we will do better. In the past few months we have been putting a very deliberate effort to eliminate all conditions from which such poor experience can come about.

The work is not complete but we have stability and correctness as a primary goal, and something that is a requirement for us to declare a v1.0.
videlov
·hace 8 meses·discuss
(co-founder of GitButler here)

We chose not to use separate git worktrees under the hood for this functionality. Let me try to break down why, maybe there's an opportunity for me to learn more here.

In my head I separate between use cases of 1) "different tasks" and 2) "best of n, same task".

The app that we built already had the ability to separate changes into branches while in the worktree (on disk) it renders the integration of the branches. Our canonical use case back in the days was "A developer works on a feature branch and wishes to commit & publish a bugfix from separate branch". When we learned that people were using this for running multiple parallel agents we added some additional tooling for it.

So in practice what happens when you have multiple agents coding in parallel with GitButler is that the system captures information after an agent completes an edit (via the agent hooks) and uses that to 1) stage the particular edit to a branch dedicated to the agent and 2) perform a commit into that branch (GB can have multiple staging areas, one per applied branch).

The system will not allow multiple agents to edit the same file at the same time (via a locking mechanism in the pre-edit hook), but agents do see each others changes.

In the context of the "different tasks for different agents" use case, we have found that them seeing edits by others to have a positive effect on the outcomes. The first one that comes to mind is - no merge conflicts. But beyond merge conflicts, we have found that there is a lower likelihood of reaching a state where code diverges semantically.

In my own usage, I have found it helpful when I am hands on programming on something and wish to have an agent do some auxiliary task, for us to share a workspace (so that I can nudge it one way or another).

Is there something I am missing here? Of course for best-of-n of the same task this doesn't exactly make sense, but with regards to different tasks, what are some additional reasons to require full isolation? (as different worktrees would provide)
videlov
·hace 2 años·discuss
I have found the following community site for generating Ghostty config quite helpful https://ghostty.zerebos.com/