On Jan 13, 2010, at 10:12 AM, Ken Raeburn wrote: > On Jan 12, 2010, at 14:27, David Reitter wrote: >> Does anyone plan to set up facility to make the git mirror writeable and merge changes into the Bzr branch? >> (Changes to ChangeLog files might lead to merge conflicts, but if that is solved, a bidirectional Git bridge would really be quite useful.) > > Does git have sufficient hooks to push back submitted changes to bzr in real time, and detect conflicts at that point, and report an error to the client without updating the git mirror (aside from maybe some new commits unreferenced by branch labels)? Looking at the documentation, I see that the "update" hook is designed to do just that. When a remote repository does a push, the new revisions are sent to the repository, but before the ref (i.e. branch pointer) is updated, this hook is invoked. It can prevent the update to the ref. If the hook fails this way, one could call the sync script to import the latest changes from the bzr side so that the client can then pull/merge those before attempting to push again. What happens when the changes that originated on the git side are re-imported to the git repository? Would we get double revisions? Also, would importing sidestep the new revisions on the git side because the "marks" file points to an earlier previous revision? This would mean that users would have to constantly "pull -f" and rebase, right? http://kernel.org/pub/software/scm/git-core/docs/githooks.html