2.When a commit came in , pre-commit will tell mulsitie to make a transaction lock( When the commit finished ,it will unlock automatic).
3.A commit finished , post-commit will the multisite it finished , then multisite will start a sync process.
4.When a repository in sync status, it will get a sync lock( repository will become to readonly until sync finished).
Also we make some other features, like authz sync ( we make authz as mysql db, when db changed, every site will generate a new authz file. ) , exception system (like power outage, data loss,
network congestion) and Management function.
R & D Management Group
Hangzhou Hikvision Digital Technology Co.,Ltd
No.555 Qianmo Road, Binjiang District, Hangzhou 310052, China
This e-mail and its attachments contain confidential information from HIKVISION, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way
(including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete
-----邮件原件----- 发件人: Julian Foad [mailto:[hidden email]]
17:56 收件人: 钱海远(Nathan) 抄送: Subversion; Johan Corveleyn 主题: Re: Can SVN pull request same as GIT?
> We want to develop a feature like git pull request .
> But it is not easy to develop. Svn has only one server , how to store the patches?
> If build failed , how to revert working copy. How to resolve the conflict.
> Git is a better , it can support pre-commit code review, pull request by default. Is
> subversion able to develop these features in the future?.
Some other companies are also interested in developing the same.
There are a few different possible directions.
You could implement pull requests (PR) using Subversion's branches. The PR would be some kind of message that you send to your PR server, saying something like, "please merge branch $REPO_URL/branches/pull-requests/pr1234
to $REPO_URL/branches/my-branch". The PR server would check out the target branch in to a WC local to that server, attempt the merge, commit it, and delete the PR. If the merge fails, the PR server can "svn delete" the PR branch; there is no way to permanently
delete the contents of that branch from history, but in many cases that can be OK. If there are conflicts, the PR server can send an error report back to the originating user.
If you really want the PR not to be committed to a branch, so that you can permanently delete it if it fails, then you need to store patches somehow. That is an area where Subversion is currently very weak. I am currently
working on client-side shelving. Shelving provides a way to manage patches on the client side (in a working copy), better than standard diff/patch files. This was released in a simple form in v1.10, and improved in v1.11. Once this is working well on the client
side, it should be possible to extend the idea towards the server side. Read more about it in the Wiki  and come and talk to us on dev@ about developing that further.
You said that you build a lot of tools for Subversion. It would be good if you can come to the Subversion development mailing list"dev@"
 -- that is where we discuss and design and debug new feature developments. There we can share and help and learn from each other, and there is where you are likely to connect with other developers who want to do the same thing. When you are ready, if you
can write a more detailed description of any of your plans, or share something that you have already developed,you could send it to dev@ and I will be interested to read
it and help guide my development of the shelving and future directions, and I hope also that you will find someone else likes it too and wants to help you make it better.
 see http://subversion.apache.org/mailing-lists.html for details.
This electronic message is intended to be viewed only by the individual or entity to whom it is addressed. It may contain information that is privileged, confidential and exempt from disclosure under applicable law. Any dissemination, distribution or copying
of this communication is strictly prohibited without our prior permission. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, or if you have received this
communication in error, please notify us immediately by return e-mail and delete the original message and any copies of it from your computer system. For further information about Hikvision company. please see our website at