Skip to content
TopicTracker
From HackerNewsView original
TranslationTranslation

Projection: A JJ Workflow for splitting public and private files

Projection is a JJ workflow that lets developers split a repository into public and private files, managing sensitive data and open-source code separately within the same project.

Background

- "JJ" is a modern version-control system (VCS) created by Google engineer Martin Geisler, designed as an alternative to Git. It aims to simplify workflows around branching, history rewriting, and collaboration. - A common tension in open-source development is keeping certain files (API keys, internal TODOs, unfinished specs) private while making the rest of the project public (e.g., on GitHub). - This post proposes a "Projection" workflow in JJ that uses the tool's native "anonymous branching" and "squashing" features to maintain two views of the same repo: a full private version and a cleaned public version, without messy manual copying or separate history.