Page MenuHomePhabricator

Make Phabricator clone bare git repositories
ClosedPublic

Authored by epriestley on Oct 27 2013, 4:12 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jun 13, 11:25 PM
Unknown Object (File)
Apr 15 2026, 8:37 PM
Unknown Object (File)
Apr 15 2026, 2:38 PM
Unknown Object (File)
Mar 13 2026, 10:42 PM
Unknown Object (File)
Feb 28 2026, 6:51 PM
Unknown Object (File)
Feb 5 2026, 3:59 PM
Unknown Object (File)
Jan 22 2026, 10:28 AM
Unknown Object (File)
Jan 20 2026, 12:22 PM
Subscribers

Details

Reviewers
btrahan
Maniphest Tasks
Restricted Maniphest Task
Commits
Restricted Diffusion Commit
rP59922b78b9bc: Make Phabricator clone bare git repositories
Summary

This doesn't really impact anything very much, but is a little cleaner than cloning repositories with a working copy. It's somewhat important for allowing pushes, because you can't push to a checked-out branch.

Mercurial has a similar option (--noupdate) but leave that alone for now.

The origin stuff was mostly for sanity/explicitness purposes -- I believe it's safe to remove in all non-ridiculous cases. Git fails with it in bare repositories (it automatically creates an origin, but doesn't create the local refs for it, or something).

Test Plan

Nuked a repo, re-cloned it, pulled and updated it several times. Browsed both bare and non-bare repos in Diffusion.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped