On 07/16/17 12:10, Jeff King wrote: >> This seems to accomplish everything I want except that the the "git >> push" deletes any branches I have created on my self-hosted >> repository. > > A mirrored push is basically: > > - push all refs, i.e., a "+refs/*:refs/*" refspec > > - enable --prune, to delete any branches that don't exist on the local > side > > But you can do those two things separately if you like. So your options > are either: > > 1. Drop the pruning (in which case deleted branches from the sync may > accumulate, but depending on the patterns that may or may not be a > problem). I don't think that's a problem. Or rather, I'd be willing to try it and see if it becomes a problem. That said; does "drop the pruning" mean simply removing "--prune" from the remove update? I did that, but it still deletes my test-branch on push. Is there an implicit pruning happening due to some configuration option or the specific commands I'm using? > 2. Use two different namespaces for the synced branches and the > private ones (e.g., refs/mirror/* in addition to your branches in > refs/heads/*). The obvious downside is that anybody cloning your > downstream mirror doesn't pick up refs/mirror unless they configure > that refspec explicitly. This sounds very useful. How would one go about setting up this configuration? -- Kind regards, Jan Danielsson