Page MenuHomePhabricator

Make Phabricator clone bare git repositories
ClosedPublic

Authored by epriestley on Oct 27 2013, 4:12 AM.
Tags
None
Referenced Files
F18815625: D7430.diff
Tue, Oct 21, 2:57 AM
F18802528: D7430.id.diff
Fri, Oct 17, 7:23 PM
F18791374: D7430.diff
Thu, Oct 16, 10:45 AM
F18766518: D7430.diff
Tue, Oct 7, 5:03 PM
F18675823: D7430.id.diff
Sep 25 2025, 6:26 PM
F18672468: D7430.id16724.diff
Sep 25 2025, 7:35 AM
F18665866: D7430.diff
Sep 24 2025, 4:59 AM
F18665864: D7430.diff
Sep 24 2025, 4:55 AM
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