mining workspace updates in cvs

9
Mining Workspace Updates in CVS Tom Zimmermann

Upload: thomas-zimmermann

Post on 29-Jun-2015

918 views

Category:

Technology


0 download

DESCRIPTION

Presented at MSR 2007.

TRANSCRIPT

Page 1: Mining Workspace Updates in CVS

Mining Workspace Updates in CVS

Tom Zimmermann

Page 2: Mining Workspace Updates in CVS

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?

Page 3: Mining Workspace Updates in CVS

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

Page 4: Mining Workspace Updates in CVS

Parallel Development

JEdit Python

0.26% 0.15% 0.54% 0.43%

How many updatesintegrate changes?

Page 5: Mining Workspace Updates in CVS

Parallel Development

JEdit Python

9.06% 3.89% 9.03% 20.20%

How many commitslead to integrations?

Page 6: Mining Workspace Updates in CVS

Parallel Development

JEdit Python

22.8% 46.6% 24.3% 38.3%

How many integrationshave conflicts?

Page 7: Mining Workspace Updates in CVS

Parallel Development

JEdit Python

38.4% 68.5% 57.8% 57.5%

How many conflicting changes were discarded?

Page 8: Mining Workspace Updates in CVS

Parallel Development

JEdit Python

11.2% 42.5% 35.3% 5.2%

How many conflicts are self-conflicts?

Page 9: Mining Workspace Updates in CVS

Parallel Development

Little impact on other developers

CVS can integrate many changes, but not all.

Developers have several workspaces.