Sender: DVLT (want to eat hungry!), The letter area: bbsman_dev
Title: BBS site upgrade and synchronous development experience
Sending station: Shuimu Community (Fri Apr 7 21:18:09 2006), transfer
Here, I will have a passage of the door here, but I feel some experience, so I wrote to throw the jade.
Our BBS site was originally used in SMTHBBS-1.2.2 code and made some functional changes on the basis. Course
And I saw that KBS is in full swing, and the function is constantly improving, so I plan to upgrade to KBS code.
The biggest obstacle to upgrade code is probably the original revision of the original pair code. Of course, this is also attributed to the KBS system
The compatibility of the file is very good. I adopted the general recommendations, first put your code with the original Smthbbs-1.2.2
The code DIFF has this way, then you will see what you have, then try to apply these modifications to KBS.
Code on the code.
However, since the result of the DIFF is too large, and the modification is more zero, it is directly picked to KBS directly.
Conflicts is unlikely. Fortunately, after the future, it will be announced in the station. So I
Find these announcements, see what major changes are all, then according to each change, put the original code
PORT to KBS code. Inappropriate features, it is too lazy: P
Of course, when the port is constantly compiled, it will be installed from time to time, to ensure that the result of Port is correct.
of. When the primary function port is completed, manually delete the plugs that have been patched in the original DIFF file. At this time
There is more than a thousand rows of DIFF, then depending on the specific situation, or PATCH patching conflict, or manual port
Code.
The above is a rough idea. Specifically, it is also necessary to use the version control system. Since I use SVN,
So, record my svn passed. This method is not necessarily the best, but it is feasible.
1. Download the KBS code in a directory. CVS Checkout. This catalog is important and cannot be lost.
2. Create a svn repository, this repository has only one project, that is, I will upgrade.
BBS.
3. Built a directory in this repository, named KBS-MIRROR.
4. Put the KBS code IMPORT just now to this KBS-mirror directory. So that Working
Directory is simultaneously controlled by two version of the CVS and SVN.
5. Copy the KBS-mirror directory to the Trunk directory with the svn copy command. Next we will in the Trunk directory
Transplant your previous modifications.
After the above preparation work, it is patiently to put the original changes patches to the KBS code. From time to time Ci,
Of course, you have to go to the Trunk directory.
I spent a few days before I put the past change patch. After so many days, the code of KBS has changed a lot.
Then you need to change the KBS's change MERGE to our own code. Proceed as follows:
1. In the Working Directory of the original CVS CO KBS code, cvs up -dap, get KBS these days
Internal update. (Tip: Do not make changes in Working Directory, this will be faster than UP)
2, SVN CI puts the update commit into the SVN's repository. Of course, SVN ADD may also be needed before this.
SVN RM processes new and deleted files.
3, through the SVN log, look at the Revision before and after the KBS-MIRROR directory SVN CI. Assume
It is 10 and 45.
4, go to Trunk's Working Directory, SVN Merge -R10: 45 File: /// path / to / svn / repository / kbs-mirror. This puts the KBS's change MERGE to our own code. of course
It is necessary to handle Conflicts. After the test is compiled, you can SVN CI, and indicate
-m "Trunk: Merged Updates from KBS-MIRROR R10: 45."
The above steps look more troublesome. If the KBS code also uses SVN management, then I will wait for the "follow-up" site
It will be better. For example, the above steps only need to be changed: (guess, no verification)
1, SVN CO
Http://dev.kcn.cn/repos/kbs_bbs Download KBS code to a Working
Directory. There will be a revision number, you have to remember. Suppose is 1234.
2, put this Working Directory into your repository. This requires copying the directory first, then
Take it. SVN and then import.
3, modified in this Working Directory, CI from time to time.
4, after the modification is complete, look at how the KBS Revision is, assuming 5678. So execution:
SVN MERGE-R1234: 5678
http://dev.kcn.cn/repos/kbs_bbs
The modification of the KBS Merge is in the local area.
There is a useful reference to "svnbook", there is downloaded (PDF) on the Subversion website, of which
The Vendor Branches section is almost what we have encountered :) where Branching and
Merging this chapter is also very good ~~