Closed realityforge closed 7 years ago
It should also be noted that avoiding the use of remotes also has the advantage that if users modify the .braids
file to move the location of the repository, currently this will leave the remote pointing at an incorrect cache and thus it will not work. Users tend to have to remember to remove the remote and allow braid to recreate it ... which they don't always do which can cause confusion.
Currently braid adds remotes for every upstream repository in the downstream repository. You end up with remotes looking something like the following
Regular users who interact with the downstream repository find this difficult to work with, particularly when the number of braided directories gets high and/or they are already working with different remotes themselves. It also gets very complex if the braided repositories have tags as they pollute the downstream repository and users who do things such as
git push --tags
end up with behaviour they really do not expect.An alternative would be to not add the remotes explicitly and instead interact with the cache via local urls. Another alternative would be to add and then remove remotes as part of the braid process. Either option would improve the user experience at the expense of a more complex braid codebase.