I struggled to formulate the question in a way it does not become too subjective. Any editions are very welcome.
We have a repository where we test new features in different branches before merging them to master. It happened that master is currently being used by several clients. During one of the presentations to a new client, the sales rep offered a feature that was still in beta testing and was decisive to get the contract closed.
Our solution was to deploy that branch to another domain to let them play with it. They loved it, but none of the other clients wanted to use it. It was a core feature, so we were not able to just merge on master and enable or disable it on request.
Time passed and this new branch received more and more updates and features, up to the point that now it is a different application barely related with master (sure, they share 90% of their core, but now they serve different purposes).
This is not a technic question, project splitting has been discussed and solved before: Creating a new project out of a branch and is clear to us.
What we want to know is if you have had a situation like this and how you have solved? Did you just kept the branches as they were or did you split the repo in two?
tl;dr
We are currently divided. It makes sense to split the repository and to keep it as it is. If we split, maybe we are forced to update twice certain characteristics that are in common, but that still happens if they are in the same repo. On the other hand, having two HEADS (two repos) will make it clearer and cleaner to debug/deploy as time goes on and commits start to accumulate.