What is a mergepoint, and how does one use it?
Mergepoints help cvsnt find the common ancestor when trying to diff a file, which greatly reduces the effort required to merge in branches. It is automatically saved by cvsnt when you merge changes from one branch to another. Just make sure you commit after merging (before performing any other merges) and cvsnt will save the mergepoint field with the update.
Note that mergepoints are specific to cvsnt, and require that cvsnt is running on both client and server. "Regular" cvs does not support mergepoints.
When I merge back and forth from dev branch to HEAD, it is a very simple operation--I just specify the branch to merge from, and cvsnt takes care of the rest. If you read
about merging in the regular cvs docs, it looks like a big effort to tag before, merge, commit, retag... lots of tagging and remembering those tag names.
With cvsnt, merging is done simply by using: cvs update -j branch-tag
Then you can correct any conflicts, test your integration, and commit without worrying about a lot of tagging operations.
You can see the mergepoint records in the output of the log command (look at rev 1.8, the last field before the comment):
C:\temp\junk\test>cvs log test.c
RCS file: /home/cvsroot/test/test.c,v
Working file: test.c
head: 1.8
branch:
locks: strict
access list:
symbolic names:
grs-test1: 1.6.0.2
R2: 1.3
R1-Fix: 1.1.0.2
R1: 1.1
keyword substitution: kv
total revisions: 12; selected revisions: 12
description:
----------------------------
revision 1.8
date: 2003/11/06 21:53:13; author: gstarret; state: Exp; lines: +0 -0; kopt:
kv; commitid: 257f3faac2c9c824; mergepoint: 1.6.2.1;
changed for some reason
----------------------------
That mergepoint is in the record from my commit after I did the merge.

