この場合は、統合が正しく行われたかどうかを手作業で確認する 必要があります。しかし、バージョン管理ツールを使えば、 すべてを人間が見比べて編集するよりもずっと楽に作業が行えます。
ここでは main() 関数のほうを書き換えました。
void main() { int i; /* by nishitmp */ for ( i = 0; i < 100 ) { func(); } printf( "hello, world!\n" ); }
Status: Needs Merge というのは、複数の変更を統合する必要がある ことを表しています。
=================================================================== File: file1.c Status: Needs Merge Working revision: 1.2 Tue Dec 10 09:26:27 1996 Repository revision: 1.3 /hp1/speech/CVS/test-cvs/file1.c,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) ===================================================================
nishitmp@langue[175]% cvs update cvs update: Updating . RCS file: /hp1/speech/CVS/test-cvs/file1.c,v retrieving revision 1.2 retrieving revision 1.3 Merging differences between 1.2 and 1.3 into file1.c rcsmerge: warning: overlaps or other problems during merge cvs update: conflicts found in file1.c C file1.c先頭に C と表示されたファイルは、手作業で編集しなければ 新しいバージョンとして登録できません。
nishitmp@langue[177]% m file1.c /* * $Log: file1.c,v $ <<<<<<< file1.c ======= * Revision 1.3 1996/12/10 10:00:35 nishi * file1.c の func() 関数に "too much!!" 表示を追加した。 * * Revision 1.2 1996/12/10 09:26:27 nishitmp * func() を作りました。 * >>>>>>> 1.3 * Revision 1.1.1.1 1996/12/10 09:07:10 nishi * CVSで管理します。作りはじめたばかりです。 * */ #include "file1.h" void func() { static int i = 0; printf( "i = %d\n", i ); /* by nishi */ if ( i > 10 ) { printf("too much!!\n"); } } void main() { int i; /* by nishitmp */ for ( i = 0; i < 100 ) { func(); } printf( "hello, world!\n" ); } /* end of file */
ここでは統合がうまく行われたのですが、 nishitmp さんのファイルはそのままでは commit できないことに なっているので、先頭のコメントの部分をちょっと削って commit します。
エディタが起動されて、コメントの入力待ちになるので、 次のようにコメントをつけました。
main() で func() を 100 回実行するようにした。以下は、cvs commit コマンドの実行結果です。
nishitmp@langue[181]% cvs commit cvs commit: Examining . cvs commit: Committing . Checking in file1.c; /hp1/speech/CVS/test-cvs/file1.c,v <-- file1.c new revision: 1.4; previous revision: 1.3 done
/* * $Log: file1.c,v $ * Revision 1.4 1996/12/10 10:22:39 nishitmp * main() で func() を 100 回実行するようにした。 * * Revision 1.3 1996/12/10 10:00:35 nishi * file1.c の func() 関数に "too much!!" 表示を追加した。 * * Revision 1.2 1996/12/10 09:26:27 nishitmp * func() を作りました。 * * Revision 1.1.1.1 1996/12/10 09:07:10 nishi * CVSで管理します。作りはじめたばかりです。 * */ #include "file1.h" void func() { static int i = 0; printf( "i = %d\n", i ); /* by nishi */ if ( i > 10 ) { printf("too much!!\n"); } } void main() { int i; /* by nishitmp */ for ( i = 0; i < 100 ) { func(); } printf( "hello, world!\n" ); } /* end of file */