钱海远(Nathan) wrote: > [...] > So we'd like to make a pre-commit CI system, if anyone who want to > commit his code, we will build and test it first , if the CI passed the > build and test , then it can merge to branches. > > We have 2 plan: > > Plan A ( 2015 we had make a linux svn issue plugin like this ,but it is > easy ,just replace the svn program , see it at attachment): > 1. Make a perl script to replace the svn program, rename svn bin to svn- > org; > 2. User can use svn commit command to commit his code ( in fact , the > perl script will start) , the script will store the patches, and send it > to our build system. Also script will start a daemon program work at > user's computer to listen the build result. > 3. When the build finished, daemon will tell user the result . We plan > use svn mucc to commit the file ,then update the working copy.
I understand. Currently, Subversion supports patches that contain only a limited kinds of changes -- text modifications, property modifications. In the future I hope we can provide a patch format that supports all kinds of Subversion changes (copy, move, binary files, etc.). The "Shelving" developments are providing some of the support that will be necessary to do that. > Plan B (search it at google ): > 1. Create a merge (pull) branch from the trunk and check that out. > 2.Merge you development check-out branch into the "pull" branch. > 3.Run test threads and do compares to verify the merge. > 4.Integrate with the trunk. Yes, that is the other main option. Thank you for explaining this more clearly. - Julian