Grace Version Control System
Offline vs. always-online design
- Many see the lack of offline operation as a major flaw. Examples: working on planes, hotel Wi‑Fi outages, power/network instability, air‑gapped environments. Git’s local commits are seen as a key advantage.
- The project’s author argues most modern workflows already require connectivity (cloud CI, cloud infra, Git hosting) and that by the late 2020s near‑constant internet can be assumed; offline needs can continue to use Git.
- Some reject this, valuing local repos as resilience against host failures and as a deliberate design principle (“complexity bad; centralized VCS is a step backward”).
Automatic upload on save, monitoring, and privacy
- Auto‑upload on every save via a background watcher triggers strong pushback:
- Fear of leaking secrets, temporary hacks, profanity, or experimental code.
- Concern about huge repos due to large temporary files and potential “repo‑bomb” attacks.
- Worry about surveillance/metrics (“every save timestamp visible to the boss”) and “ghost in the machine” auto‑rebases breaking flow or tests mid-edit.
- Proponents like the “ambient” experience, likening it to OneDrive/Dropbox/Box and using VCS as continuous undo.
- The author stresses that:
watchis optional.- Saves/checkpoints are ephemeral, auto‑deleted after a configurable time.
- Deleting specific versions is a first-class operation, combined with secret-scanning.
Centralization, branches vs forks
- Centralized, cloud‑native server on Kubernetes is unattractive for those who want local, simple, self‑contained repos.
- Replacing forks with “personal branches” on the main repo is widely criticized:
- Maintainers see “everyone branches on upstream” as unmanageable.
- Forks are also used for long‑lived private divergence, not just contribution.
- The author frames forks as a hoster workaround; Grace aims for branch‑level permissions and personal branches to cover open-source workflows.
UX, concepts, and Git comparison
- Some like:
- Separating “checkpoint” (WIP), “commit” (candidate), and “promotion” (to parent branch) instead of Git’s single “commit.”
- Auto‑rebasing child branches on parent updates and removing explicit stashing.
- Better handling of large repos and binaries, event‑sourced history, and future AI‑assisted conflict resolution.
- Critics:
- Find the README heavy on marketing/buzzwords (“cloud-native”, “AI”) and light on clear core concepts: repository model, storage, IDs, concurrency, merge semantics.
- Fear Grace may be “easier” at the surface but more conceptually complex than Git’s blobs/trees/commits/refs.
- Object to AI in VCS, preferring “dumb/simple” tools.
Large files and non‑code assets
- Game/Perforce users and others with big binary assets are a key target; there’s side discussion of VCSs that diff binaries semantically (images, 3D scenes, sound).
- Some see this as an important differentiator; others say Git + existing tooling (LFS, diff viewers) is usually enough.
Tooling, platform, and adoption
- Native cross‑platform GUI (Avalonia) and .NET/F# implementation get positive notes; some still prefer web or TUI.
- Multiple commenters doubt adoption prospects: requires cloud infra, seems enterprise‑oriented, and fights Git’s massive network effects.
- The author positions Grace as an open-source, cloud‑hoster‑adopted successor to Git, not a standalone “GitHub competitor.”