Live data from Hacker News

Evo: Version control that works the way you think

github.com

11–20 of 46 posts

Re: Evo: Version control that works the way you think

#11
post #8

> evo workspace merge wtf does that even do. I have no idea if it does what I think because I have no idea what it does. 'push' is a hundred times more clear than this obscure incantation.

"evo workspace merge" maps[0] to "git merge"

[0]: https://github.com/crazywolf132/evo/blob/main/docs/migration...

Re: Evo: Version control that works the way you think

#12
post #6
post #4

Darcs was probably the most interesting VCS in this space. It made a lot more sense because it was more about managing patches (or features) instead of history that we do now with git. IIRC Darcs had a lot of momentum with it until there was a problem discovered with it's algebra that allowed itself to go into an infinite loop. And then it died. At least with git, I can think in terms of DAGs which should be in the k…

I don't know if managing patches makes more sense than managing revisions. The truth is that you need both. Sometimes you are authoring patches, and reviewing patches. But sometimes you are releasing/trying/building revisions, and you are releasing revisions. Moving to the dual representation fixes some issues and brings its own. I think the only reason why some people think it is better is because they haven't used…

IMO managing revisions makes more sense than managing patches. Yes yes, I know about commutative patches and all that, and no I don't need that. I do reorder patches sometimes, and when they yield the same tree that's interesting, but not that interesting.

Re: Evo: Version control that works the way you think

#13
post #9

I'm definitely interested in the promise here. But it seems very early days. I'm sceptical about the whole "make a workspace for a feature, then code, then merge" workflow. For me in practice work often doesn't follow that linear path, I don't really know what feature will be finished and ready for committing until done. One very surprising thing I have learnt about git is that it is intuitive for some people. Wherea…

I’m skeptical of anything that assumes a single branch/workspace per feature.

My career never has worked that way. I’m always juggling a series of changes that will be reviewed and merged in close succession but separately.

I keep everything in a single branch and have scripts to cherry pick revisions for merge requests.

Re: Evo: Version control that works the way you think

#14
post #4

Darcs was probably the most interesting VCS in this space. It made a lot more sense because it was more about managing patches (or features) instead of history that we do now with git. IIRC Darcs had a lot of momentum with it until there was a problem discovered with it's algebra that allowed itself to go into an infinite loop. And then it died. At least with git, I can think in terms of DAGs which should be in the k…

Darcs was also very very slow when I used it.

Re: Evo: Version control that works the way you think

#15
post #9

I'm definitely interested in the promise here. But it seems very early days. I'm sceptical about the whole "make a workspace for a feature, then code, then merge" workflow. For me in practice work often doesn't follow that linear path, I don't really know what feature will be finished and ready for committing until done. One very surprising thing I have learnt about git is that it is intuitive for some people. Wherea…

I think they may be too quickly assuming that there's never a need for long-lived branches. For example, for any company (like mine) that does on-prem deployments, we need to support old versions for an extended period of time by backporting security and bug fixes. This is naturally supported in git by creating a branch for each release, and I'd be curious how evo is thinking about that problem.

Re: Evo: Version control that works the way you think

#16
post #9

I'm definitely interested in the promise here. But it seems very early days. I'm sceptical about the whole "make a workspace for a feature, then code, then merge" workflow. For me in practice work often doesn't follow that linear path, I don't really know what feature will be finished and ready for committing until done. One very surprising thing I have learnt about git is that it is intuitive for some people. Wherea…

I’m skeptical of anything that assumes a single branch/workspace per feature. My career never has worked that way. I’m always juggling a series of changes that will be reviewed and merged in close succession but separately. I keep everything in a single branch and have scripts to cherry pick revisions for merge requests.

Yeah. I do wish git added multiple named stages to keep this sort of thing a lot more organized.

Perforce can have multiple active CLs but they can only hold changes at the file level instead of hunks. That ends up even more maddening somehow.

Re: Evo: Version control that works the way you think

#17
This appears to either be a wrapper around an incomplete minimal subset of git commands (with git-lfs also included) focused only on the standard feature-branch trunk-based development workflow, or an unecessary rewrite of an inciplete subset. Either way, the semantics are identical, and most of the command are identical (except when some are renamed unnecessarily).

This is missing most of the necessary commands for when you collaborate, e.g. my remote has changes I don't have, but I also have changes it doesn't have, and the two conflict. Or to bring your feature branch ("workspace") up to date relative to the target branch so you can publish the difference for someone to review. Merge/Rebase up to date relative to a target branch is often non-trivial in real world scenarios and is part of what a code review expects to cover.

The "headline"(?) feature seems to be structural merging of JSON and YAML, which is a lesser version of semantic merging that other tools for use with git already provide.

Re: Evo: Version control that works the way you think

#20
post #9

I'm definitely interested in the promise here. But it seems very early days. I'm sceptical about the whole "make a workspace for a feature, then code, then merge" workflow. For me in practice work often doesn't follow that linear path, I don't really know what feature will be finished and ready for committing until done. One very surprising thing I have learnt about git is that it is intuitive for some people. Wherea…

I’m skeptical of anything that assumes a single branch/workspace per feature. My career never has worked that way. I’m always juggling a series of changes that will be reviewed and merged in close succession but separately. I keep everything in a single branch and have scripts to cherry pick revisions for merge requests.

These are called stacked branches in git. You're possibly looking for:

    git rebase --update-refs
... or a GUI like Git Cola that does this for you by default.
Post reply on HN