Mining Workspace Updates in CVS

1,160 views

Published on

Presented at MSR 2007.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,160
On SlideShare
0
From Embeds
0
Number of Embeds
57
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mining Workspace Updates in CVS

  1. 1. Mining Workspace Updates in CVS Tom Zimmermann
  2. 2. RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java,v Working file: ./org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java head: 1.17 Change Data branch: locks: strict access list: symbolic names: v_397: 1.16 v_396a: 1.16 ... Information in cvs logs in all about commits: v_382: 1.15 JDK_1_5: 1.15.0.2 Root_JDK_1_5: 1.15 Who? What? Why? When? How? v_381: 1.15 ... keyword substitution: o total revisions: 24; selected revisions: 24 description: ---------------------------- revision 1.17 But what about updates? date: 2004/01/13 15:48:42; author: jlanneluc; state: Exp; lines: +1 -1 Updated copyrights to 2004 ---------------------------- revision 1.16 date: 2003/12/15 16:25:37; author: jlanneluc; state: Exp; lines: +15 -26 46040 ---------------------------- revision 1.15 date: 2003/05/26 16:13:24; author: pmulet; state: Exp; lines: +5 -1 branches: 1.15.2; *** empty log message *** ---------------------------- ... ----------------------------
  3. 3. Activity Data update update commit checkout 1.14 1.15 1.16 Mary time smooth integration update 1.16 Kate integration with conflicts update 1.16 John 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
  4. 4. Parallel Development How many updates integrate changes? JEdit Python 0.26% 0.15% 0.54% 0.43%
  5. 5. Parallel Development How many commits lead to integrations? JEdit Python 9.06% 3.89% 9.03% 20.20%
  6. 6. Parallel Development How many integrations have conflicts? JEdit Python 22.8% 46.6% 24.3% 38.3%
  7. 7. Parallel Development How many conflicting changes were discarded? JEdit Python 38.4% 68.5% 57.8% 57.5%
  8. 8. Parallel Development How many conflicts are self-conflicts? JEdit Python 11.2% 42.5% 35.3% 5.2%
  9. 9. Parallel Development Little impact on other developers CVS can integrate many changes, but not all. Developers have several workspaces.

×