mining workspace updates in cvs
DESCRIPTION
Presented at MSR 2007.TRANSCRIPT
Mining Workspace Updates in CVS
Tom Zimmermann
Change Data
RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java,vWorking file: ./org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.javahead: 1.17branch:locks: strictaccess list:symbolic names:
v_397: 1.16v_396a: 1.16
...v_382: 1.15JDK_1_5: 1.15.0.2Root_JDK_1_5: 1.15v_381: 1.15
...keyword substitution: ototal revisions: 24;selected revisions: 24description:----------------------------revision 1.17date: 2004/01/13 15:48:42; author: jlanneluc; state: Exp; lines: +1 -1Updated copyrights to 2004----------------------------revision 1.16date: 2003/12/15 16:25:37; author: jlanneluc; state: Exp; lines: +15 -2646040----------------------------revision 1.15date: 2003/05/26 16:13:24; author: pmulet; state: Exp; lines: +5 -1branches: 1.15.2;*** empty log message ***----------------------------...----------------------------revision 1.15.2.1date: 2004/01/12 19:53:11; author: othomann; state: Exp; lines: +15 -26Merge with HEAD=============================================================================
Information in cvs logs in all about commits:Who? What? Why? When? How?
But what about updates?
Activity Data
Mary
Kate
John
checkoutupdate
1.14update
1.15commit
1.16
smooth integration update 1.16
integration with conflicts update 1.16
time
O 2004-06-13 05:45 +0000 mary foo =foo= <remote>/* U 2004-06-15 06:56 +0000 mary 1.14 Bar.java foo == <remote> P 2004-06-17 07:22 +0000 mary 1.15 Bar.java foo == <remote> M 2004-06-19 07:50 +0000 mary 1.16 Bar.java foo == <remote> C 2004-06-21 07:48 +0000 john 1.16 Bar.java foo == <remote> G 2004-06-22 08:48 +0000 kate 1.16 Bar.java foo == /home/kate/foo
Parallel Development
JEdit Python
0.26% 0.15% 0.54% 0.43%
How many updatesintegrate changes?
Parallel Development
JEdit Python
9.06% 3.89% 9.03% 20.20%
How many commitslead to integrations?
Parallel Development
JEdit Python
22.8% 46.6% 24.3% 38.3%
How many integrationshave conflicts?
Parallel Development
JEdit Python
38.4% 68.5% 57.8% 57.5%
How many conflicting changes were discarded?
Parallel Development
JEdit Python
11.2% 42.5% 35.3% 5.2%
How many conflicts are self-conflicts?
Parallel Development
Little impact on other developers
CVS can integrate many changes, but not all.
Developers have several workspaces.