6 ms·
> In Git, commit is an overloaded concept ... Grace simplifies this by breaking these usages out into their own gestures and events: ... To me, now having two
by albertzeyer 2y ago
> In Git, commit is an overloaded concept ... Grace simplifies this by breaking these usages out into their own gestures and events: ...
To me, now having two different commands which I need to distinguish means actually some mental overhead. I need to think about, is this really ready now, or only partially ready? Often I don't really know. I keep rebasing and editing my history of commits until I think they are in a good shape, and then I publish (make a PR).
grace promote seems easy to distinguish, if this is only intended for merges. Although I also don't see why it is such a problem to consider this also as a type of commit. Also, how are conflicts handled there? In Git, a commit always comes with a well defined state of the file tree, with one, or multiple parent commits (or also zero for the initial).
> Every save is uploaded, automatically
How does this handle files which are not yet tracked? Or all new files are automatically added? With Git, I always check first what files are added before I commit some new directory, to make sure I don't add files which don't belong into Git, like generated binaries or so.
> You can fix [the merge conflict] while you're in flow, and skip the conflict later.
To me, suddenly getting a merge conflict because of the background auto-rebase while working on some code sounds more like a distraction to get me out of the flow?
> Personal branches, not forks
So, you mean it's a centralized system? But does that mean, forks are not possible? Or when you fork, there are no good ways to work together anymore, e.g. merging branches from other forks?
> Grace will have a native GUI app for Windows, Mac, Android, and iOS. (And probably Linux.)
It sounds like Linux is not a priority now? This will turn off a lot of developers. I think for a new version control system, it makes more sense to have Linux as a priority, and Windows etc can come later.
- kelseydh 2y agoYeah always tracking and uploading everything seems nice but brings with it security concerns. For example, if I generate a secret key or store a private keyfile into the repo before remembering to gitignore... err I mean graceignore it, then that key gets uploaded to the cloud. Oops. In Git these mistakes are more easily avoided as you are deliberate about what you commit and what stays local.
- SBArbeit 2y ago> In Git these mistakes are more easily avoided as you are deliberate about what you commit and what stays local. And yet GitHub has built an entire security feature - Secret Scanning - because developers do not easily avoid checking in secrets. We have to face the fact that Git not being able to delete versions easily is a bug, not a feature, and that we do indeed sometimes need to delete versions from a repo. And so we've built a set of workarounds for Git to prevent pushes from succeeding when secrets have already been committed locally. It's not ideal. Grace will enable a combination of hoster-level Secret Scanning with a native ability to delete a version that you don't want. Imagine that you accidentally save a secret, it ends up in your personal branch as a Save reference, Secret Scanning catches it and prompts you about it: "A secret was detected. Should I delete that version for you?" No rewriting, no "hey Copilot how do I fix my repo after I committed a secret?", just one click and it's gone.
- tasuki 2y ago> just one click and it's gone. Just the feature I want in my vcs! opens popcorn
- SBArbeit 2y ago> It sounds like Linux is not a priority now? The "probably Linux" line was when I was thinking of using .NET MAUI for the GUI, and they were considering adding Linux support. My bad, I need to change that. .NET MAUI has decided not to do that, so I'm going to build the GUI with Avalonia, which does have Windows / MacOS / Android / iOS and Linux desktop support, as well as WASM support, all from the same code base. If I weren't using a cross-platform GUI framework like Avalonia, I really might not bother with a Linux GUI, or at least deprioritize it; I expect most Linux devs will just use the CLI. I'm totally curious how much GUI usage there will be on Linux...
- albertzeyer 2y agoI use PyCharm and I also prefer the builtin Git GUI over the command line, at least when also working within PyCharm. I use PyCharm mostly on Linux and Mac.
- gary_0 2y agoOne data point: I'm a Linux user and I prefer GUIs for fiddly things like version control, although in some cases I end up using the terminal anyways because all the GUI options are terrible.
- SBArbeit 2y agoThank you, I appreciate even the one data point. I'm a Windows user (and former Windows network administrator). I only use Linux as a target for containers, and rarely use a Linux terminal, so I know I'm not the right person to understand what Linux users want and need. I was a Unix admin in the late '90's for a couple of years, it was a bad enough experience to make me not want to be back in that world ever again. It's all subjective, of course. I am pretty decent at designing UI's, and I hope Grace will be a non-terrible GUI for you (and for me).