Skip to main content
Erschienen in: Computer Supported Cooperative Work (CSCW) 3-6/2018

23.05.2018

An Analysis of Merge Conflicts and Resolutions in Git-Based Open Source Projects

verfasst von: Hoai Le Nguyen, Claudia-Lavinia Ignat

Erschienen in: Computer Supported Cooperative Work (CSCW) | Ausgabe 3-6/2018

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Version control systems such as Git support parallel collaborative work and became very widespread in the open-source community. Whilst Git offers some very interesting features, resolving conflicts that arise during synchronisation of parallel changes is a time-consuming task. In this paper we present an analysis of concurrency and conflicts in official Git repository of four projects: Rails, IkiWiki, Samba and Linux Kernel. We analyse the collaboration process of these projects at specific periods revealing how change integration and conflict rates vary during project development life-cycle. We also analyse how often users decide to rollback to previous document version when the integration process generates conflicts. Finally, we discuss the mechanism adopted by Git to consider changes made on two continuous lines as conflicting.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
Zurück zum Zitat André, Luc; Stéphane Martin; Gérald Oster; and Claudia-Lavinia Ignat (2013). Supporting adaptable granularity of changes for massive-scale collaborative editing. In: Bertino, E.; D. Georgakopoulos; M. Srivatsa; S. Nepal; and A. Vinciarelli (eds.) CollaborateCom’13. Proceedings of the 9th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing, Austin, Texas, USA, 20 October 2013–23 October 2013. Washington: IEEE Computer Society, pp. 50–59. André, Luc; Stéphane Martin; Gérald Oster; and Claudia-Lavinia Ignat (2013). Supporting adaptable granularity of changes for massive-scale collaborative editing. In: Bertino, E.; D. Georgakopoulos; M. Srivatsa; S. Nepal; and A. Vinciarelli (eds.) CollaborateCom’13. Proceedings of the 9th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing, Austin, Texas, USA, 20 October 2013–23 October 2013. Washington: IEEE Computer Society, pp. 50–59.
Zurück zum Zitat Berliner, Brian (1990). CVS II: parallelizing software development. In: USENIX’90. Proceedings of the winter 1990 USENIX technical conference, Washington, D.C, USA, 22 January 1990–26 January 1990. Berkeley: USENIX Association, pp. 341–352. Berliner, Brian (1990). CVS II: parallelizing software development. In: USENIX’90. Proceedings of the winter 1990 USENIX technical conference, Washington, D.C, USA, 22 January 1990–26 January 1990. Berkeley: USENIX Association, pp. 341–352.
Zurück zum Zitat Bird, Christian; Peter C. Rigby; Earl T. Barr; David J. Hamilton; Daniel M. German; and Prem Devanbu (2009). The promises and perils of mining git. Washington: IEEE Computer Society, pp. 1–10. Bird, Christian; Peter C. Rigby; Earl T. Barr; David J. Hamilton; Daniel M. German; and Prem Devanbu (2009). The promises and perils of mining git. Washington: IEEE Computer Society, pp. 1–10.
Zurück zum Zitat Brindescu, Caius; Mihai Codoban; Sergii Shmarkatiuk; and Danny Dig (2014). How do centralized and distributed version control systems impact software changes?. In: Jalote, P.; L. Briand; and A. van der Hoek (eds.) ICSE’14. Proceedings of the 36th international conference on software engineering, Hyderabad, India, 31 May 2014–7 June 2014. New York: ACM, pp. 322–333. Brindescu, Caius; Mihai Codoban; Sergii Shmarkatiuk; and Danny Dig (2014). How do centralized and distributed version control systems impact software changes?. In: Jalote, P.; L. Briand; and A. van der Hoek (eds.) ICSE’14. Proceedings of the 36th international conference on software engineering, Hyderabad, India, 31 May 2014–7 June 2014. New York: ACM, pp. 322–333.
Zurück zum Zitat Brun, Yuriy; Reid Holmes; Michael D. Ernst; and David Notkin (2011). Proactive detection of collaboration conflicts. New York: ACM, pp. 168–178. Brun, Yuriy; Reid Holmes; Michael D. Ernst; and David Notkin (2011). Proactive detection of collaboration conflicts. New York: ACM, pp. 168–178.
Zurück zum Zitat Brun, Yuriy; Reid Holmes; Michael D. Ernst; and David Notkin (2013). Early detection of collaboration conflicts and risks. IEEE Transactions on Software Engineering, vol. 39, no. 10, pp. 1358–1375.CrossRef Brun, Yuriy; Reid Holmes; Michael D. Ernst; and David Notkin (2013). Early detection of collaboration conflicts and risks. IEEE Transactions on Software Engineering, vol. 39, no. 10, pp. 1358–1375.CrossRef
Zurück zum Zitat Collins-Sussman, Ben; Brian W. Fitzpatrick; and Michael Pilato (2004). Version Control with Subversion. Sebastopol: O’Reilly & Associates. Collins-Sussman, Ben; Brian W. Fitzpatrick; and Michael Pilato (2004). Version Control with Subversion. Sebastopol: O’Reilly & Associates.
Zurück zum Zitat Dewan, Prasun; and Rajesh Hegde (2007). Semi-synchronous conflict detection and resolution in asynchronous software development. In: Bannon, L. J.; I. Wagner; C. Gutwin; R. H. R. Harper; and K. Schmidt (eds.) ECSCW’07: Proceedings of the 10th European conference on computer supported cooperative work, 24 September 2007–28 September 2007, Limerick, Ireland. London: Springer, pp. 159–178. Dewan, Prasun; and Rajesh Hegde (2007). Semi-synchronous conflict detection and resolution in asynchronous software development. In: Bannon, L. J.; I. Wagner; C. Gutwin; R. H. R. Harper; and K. Schmidt (eds.) ECSCW’07: Proceedings of the 10th European conference on computer supported cooperative work, 24 September 2007–28 September 2007, Limerick, Ireland. London: Springer, pp. 159–178.
Zurück zum Zitat Dourish, Paul; and Victoria Bellotti (1992). Awareness and coordination in shared workspaces. In: CSCW’92. Proceedings of the 1992 ACM conference on computer-supported cooperative work, Toronto, Ontario, Canada, 1 November 1992–4 November 1992. New York: ACM, pp. 107–114. Dourish, Paul; and Victoria Bellotti (1992). Awareness and coordination in shared workspaces. In: CSCW’92. Proceedings of the 1992 ACM conference on computer-supported cooperative work, Toronto, Ontario, Canada, 1 November 1992–4 November 1992. New York: ACM, pp. 107–114.
Zurück zum Zitat German, Daniel M.; Bram Adams; and Ahmed E. Hassan (2016). Continuously mining distributed version control systems: an empirical study of how Linux uses Git. Empirical Software Engineering, vol. 21, no. 1, pp. 260–299.CrossRef German, Daniel M.; Bram Adams; and Ahmed E. Hassan (2016). Continuously mining distributed version control systems: an empirical study of how Linux uses Git. Empirical Software Engineering, vol. 21, no. 1, pp. 260–299.CrossRef
Zurück zum Zitat Gousios, Georgios; Martin Pinzger; and Arie van Deursen (2014). An exploratory study of the pull-based software development model. In: Jalote, P.; L. Briand; and A. van der Hoek (eds.) ICSE’14. Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May 2014–7 June 2014. New York: ACM, pp. 345–355. Gousios, Georgios; Martin Pinzger; and Arie van Deursen (2014). An exploratory study of the pull-based software development model. In: Jalote, P.; L. Briand; and A. van der Hoek (eds.) ICSE’14. Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 31 May 2014–7 June 2014. New York: ACM, pp. 345–355.
Zurück zum Zitat Gutwin, Carl; Reagan Penner; and Kevin Schneider (2004). Group awareness in distributed software development. In: CSCW’04. Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work, Chicago, Illinois, USA, 6 November 2004–10 November 2004. New York: ACM, pp. 72–81. Gutwin, Carl; Reagan Penner; and Kevin Schneider (2004). Group awareness in distributed software development. In: CSCW’04. Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work, Chicago, Illinois, USA, 6 November 2004–10 November 2004. New York: ACM, pp. 72–81.
Zurück zum Zitat Ignat, Claudia-Lavinia; and Gérald Oster (2008). Awareness of concurrent changes in distributed software development. In: Meersman, R.; and Z. Tari (eds.) OTM 2008. On the Move to Meaningful Internet Systems, OTM Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008, Monterrey, Mexico, 9 November 2008–14 November 2008, Lecture Notes in Computer Science, vol 5331. Berlin: Springer, pp. 456–464. Ignat, Claudia-Lavinia; and Gérald Oster (2008). Awareness of concurrent changes in distributed software development. In: Meersman, R.; and Z. Tari (eds.) OTM 2008. On the Move to Meaningful Internet Systems, OTM Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008, Monterrey, Mexico, 9 November 2008–14 November 2008, Lecture Notes in Computer Science, vol 5331. Berlin: Springer, pp. 456–464.
Zurück zum Zitat Kasi, Bakhtiar K.; and Anita Sarma (2013). Cassandra: Proactive conflict minimization through optimized task scheduling. In: Notkin, D.; B. H. C. Cheng; and K. Pohl (eds.) ICSE’13. Proceedings of the 35th international conference on software engineering, San Francisco, CA, USA, 18 May 2013–26 May 2013. Piscataway: IEEE, pp. 732–741. Kasi, Bakhtiar K.; and Anita Sarma (2013). Cassandra: Proactive conflict minimization through optimized task scheduling. In: Notkin, D.; B. H. C. Cheng; and K. Pohl (eds.) ICSE’13. Proceedings of the 35th international conference on software engineering, San Francisco, CA, USA, 18 May 2013–26 May 2013. Piscataway: IEEE, pp. 732–741.
Zurück zum Zitat McKee, Shane; Nicholas Nelson; Anita Sarma; and Danny Dig (2017). Software practitioner perspectives on merge conflicts and resolutions. In: ICSME’17. Proceedings of the IEEE international conference on software maintenance and evolution, Shanghai, China, 17 September 2017–22 September 2017. Washington: IEEE Computer Society, pp. 467–478. McKee, Shane; Nicholas Nelson; Anita Sarma; and Danny Dig (2017). Software practitioner perspectives on merge conflicts and resolutions. In: ICSME’17. Proceedings of the IEEE international conference on software maintenance and evolution, Shanghai, China, 17 September 2017–22 September 2017. Washington: IEEE Computer Society, pp. 467–478.
Zurück zum Zitat Mens, Tom (2002). A state-of-the-art survey on software merging. IEEE Transactions on Software Engineering archive, vol. 28, no. 5, pp. 449–462.CrossRef Mens, Tom (2002). A state-of-the-art survey on software merging. IEEE Transactions on Software Engineering archive, vol. 28, no. 5, pp. 449–462.CrossRef
Zurück zum Zitat Perry, Dewayne E.; Harvey P. Siy; and Lawrence G. Votta (2001). Parallel changes in large-scale software development: an observational case study. ACM Transactions on Software Engineering and Methodology, vol. 10, no. 3, pp. 308–337.CrossRef Perry, Dewayne E.; Harvey P. Siy; and Lawrence G. Votta (2001). Parallel changes in large-scale software development: an observational case study. ACM Transactions on Software Engineering and Methodology, vol. 10, no. 3, pp. 308–337.CrossRef
Zurück zum Zitat Reiher, Peter; John Heidemann; David Ratner; Greg Skinner; and Gerald J. Popek (1994). Resolving file conflicts in the Ficus file system. In: USENIX’94. Proceedings of the USENIX Summer 1994 Technical Conference, Boston, Massachusetts, USA, 6 June 1994–10 June 1994. Berkeley: USENIX Association, pp. 183–195. Reiher, Peter; John Heidemann; David Ratner; Greg Skinner; and Gerald J. Popek (1994). Resolving file conflicts in the Ficus file system. In: USENIX’94. Proceedings of the USENIX Summer 1994 Technical Conference, Boston, Massachusetts, USA, 6 June 1994–10 June 1994. Berkeley: USENIX Association, pp. 183–195.
Zurück zum Zitat Souza, de; R. B. Cleidson; David Redmiles; and Paul Dourish (2003). Breaking the code, moving between private and public work in collaborative software development. In: GROUP’03. Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work, Sanibel Island, Florida, USA, 9 November 2003–12 November 2013. New York: ACM, pp. 105–114. Souza, de; R. B. Cleidson; David Redmiles; and Paul Dourish (2003). Breaking the code, moving between private and public work in collaborative software development. In: GROUP’03. Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work, Sanibel Island, Florida, USA, 9 November 2003–12 November 2013. New York: ACM, pp. 105–114.
Zurück zum Zitat Souza, de; R. B. Cleidson; David Redmiles; Li-Te Cheng; David Millen; and John Patterson (2004). Sometimes you need to see through walls: A field study of application programming interfaces. In: CSCW’04. Proceedings of the 2004 ACM conference on Computer supported cooperative work, Chicago, Illinois, USA, 6 November 2004–10 November 2004. New York: ACM, pp. 63–71. Souza, de; R. B. Cleidson; David Redmiles; Li-Te Cheng; David Millen; and John Patterson (2004). Sometimes you need to see through walls: A field study of application programming interfaces. In: CSCW’04. Proceedings of the 2004 ACM conference on Computer supported cooperative work, Chicago, Illinois, USA, 6 November 2004–10 November 2004. New York: ACM, pp. 63–71.
Zurück zum Zitat Yu, Weihai; André Luc; and Claudia-Lavinia Ignat (2015). A CRDT supporting selective undo for collaborative text editing. In: Bessani, A.; and S. Bouchenak (eds.) DAIS’15. Proceedings of the 15th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems, Grenoble, France, 2 June – 4 June 2015, Vol. 9038. New York: Springer-Verlag, pp. 193–206. Yu, Weihai; André Luc; and Claudia-Lavinia Ignat (2015). A CRDT supporting selective undo for collaborative text editing. In: Bessani, A.; and S. Bouchenak (eds.) DAIS’15. Proceedings of the 15th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems, Grenoble, France, 2 June – 4 June 2015, Vol. 9038. New York: Springer-Verlag, pp. 193–206.
Zurück zum Zitat Zimmermann, Thomas (2007). Mining workspace updates in CVS. In: MSR’07. Proceedings of the Fourth International Workshop on Mining Software Repositories, Minneapolis, Minnesota, USA, 19 May 2007–20 May 2007. Washington: IEEE Computer Society, pp. 1–11. Zimmermann, Thomas (2007). Mining workspace updates in CVS. In: MSR’07. Proceedings of the Fourth International Workshop on Mining Software Repositories, Minneapolis, Minnesota, USA, 19 May 2007–20 May 2007. Washington: IEEE Computer Society, pp. 1–11.
Metadaten
Titel
An Analysis of Merge Conflicts and Resolutions in Git-Based Open Source Projects
verfasst von
Hoai Le Nguyen
Claudia-Lavinia Ignat
Publikationsdatum
23.05.2018
Verlag
Springer Netherlands
Erschienen in
Computer Supported Cooperative Work (CSCW) / Ausgabe 3-6/2018
Print ISSN: 0925-9724
Elektronische ISSN: 1573-7551
DOI
https://doi.org/10.1007/s10606-018-9323-3

Weitere Artikel der Ausgabe 3-6/2018

Computer Supported Cooperative Work (CSCW) 3-6/2018 Zur Ausgabe