Read Anthropic’s case study about Graphite Reviewer

Diffusion: Phabricator’s Code Browsing and Repository Management

Greg Foster
Greg Foster
Graphite software engineer
Try Graphite

Diffusion serves as a powerful, centralized interface for managing and exploring your code repositories. Whether you’re hosting repositories directly on Phabricator or syncing with external sources, Diffusion helps you streamline version control tasks and collaborate more efficiently. In this guide, we’ll explore Diffusion’s key features, best practices, and advanced integrations.

Diffusion is a repository management platform designed to unify your codebase operations—hosting, mirroring, browsing, and searching—under one user-friendly interface. By consolidating multiple repositories and providing robust tools for code analysis, Diffusion simplifies how teams interact with their code, ultimately improving productivity and code quality.

  • Native hosting: Host Git, Mercurial, and SVN repositories directly on Phabricator.
  • Version control versatility: Support for multiple version control systems allows teams to maintain legacy code alongside modern projects in a single, integrated environment.
  • Unified view: Mirror external repositories, providing a single-pane-of-glass view for all your code sources.
  • Real-time sync: Keep external mirrors up-to-date automatically, ensuring all team members access the latest code revisions.
  • Web-based interface: Explore files, directories, branches, and commits directly from your browser.
  • Commit history and logs: Easily trace changes, review historical commits, and understand code evolution over time.
  • Contextual diff views: Compare code changes side-by-side to understand modifications at a glance.
  • Blame annotation: Identify the last revision and author responsible for each line, making it easier to attribute changes and debug issues efficiently.
  • Robust filtering: Leverage Phabricator’s integrated search to quickly locate commits, files, and references across multiple repositories.
  • Metadata-driven queries: Find what you need—fast—by searching based on commit messages, authors, tags, or repository metadata.
  • Web-based setup: Create and manage repositories through the Phabricator interface, streamlining setup without relying solely on the command line.
  • Command-line tools: For advanced users, Arcanist command-line tool provides fine-grained control over repository creation and configuration.
  • Access control: Define read and write permissions at a granular level, ensuring secure and compliant repository management.
  • Automatic updates: Configure scheduled pulls to ensure mirrored repositories remain current, eliminating manual sync tasks.
  • Unified workflow: Use mirrored repositories seamlessly alongside native Phabricator repositories for uniform code review, auditing, and navigation.
  • Intuitive UI: Move through your codebase effortlessly, viewing file structures and commit logs to gain context.
  • Historical insights: Examine how files and directories have evolved, aiding in debugging and documentation efforts.
  • Visual comparisons: Diffusion’s side-by-side diffs highlight changes, helping reviewers quickly identify code modifications.
  • Blame and annotations: Annotated views map lines of code to commit history, offering insight into when and why changes were made.
  • Frequent, incremental commits: Encourage smaller, more frequent commits for clearer code history and simpler code reviews.
  • Descriptive commit messages: Write informative, concise commit messages that convey context, making repository exploration more intuitive.
  • Strategic branching: Utilize branches for feature development, hotfixes, and releases to maintain a clean, organized project structure.

Diffusion seamlessly integrates with other Phabricator tools and external services to optimize your development pipeline:

  • Differential (code review): Initiate and manage code reviews directly from Diffusion, ensuring a cohesive workflow.
  • Phabricator extensions: Customize and extend Diffusion’s capabilities with third-party or internal extensions for CI/CD, security scanning, and more.
  • Holistic DevOps environment: Combine Diffusion with other Phabricator applications—like Maniphest (task management) and Harbormaster (continuous integration)—for a fully integrated development ecosystem.

Diffusion remains a key part of modern repository management, providing a centralized, versatile, and efficient way to host, mirror, and explore code. Its robust feature set—from intuitive browsing and diffing tools to advanced automation and seamless integrations—empowers teams to deliver higher-quality software faster.

Built for the world's fastest engineering teams, now available for everyone