Design and Implementation of Differencing and Merging Scheme for Cooperative Version Control System

협동 버전제어 시스템을 위한 버전충돌 인지 및 버전병합 기능의 설계와 구현

  • 이병걸 (서울여자대학교 컴퓨터학과)
  • Published : 2000.01.01

Abstract

Version control is an application to maintain consistency between different instances of the same document allowing operations such as navigation, differencing, and merging. Most version control systems, however, lack the support of functionality for cooperative writing environment, such as to represent and store the history of the actions of different individuals, to effectively differentiate and merge the individual actions including the text object, and to manage different access privileges for different granularity and individuals. With the help of Activity IDentification (AID) tag and its unique addressing scheme proposed in this paper, differencing and merging become simple and effective. Access and role control is improved by associating the access right table and role assignment in AID scheme also eliminates the requirements for large storage capacity for version information maintenance.

버전관리 시스템은 한 개의 문서에 대한 여러 인스턴스들 사이의 일관성을 유지하기 위하여 버전의 탐색, 충돌 인지, 병합기능 등을 제공하는 어플리케이션이다. 하지만 기존의 버전관리 시스템에서는 협동작업 환경하에서 요구되는 개인별 히스토리 관리 및 저장, 텍스트 객체를 포함한 다양한 문서 제작 행위 객체들 간의 충돌 인지 및 병합, 그레인 크기 및 협동작업자의 역할에 기반한 문서 접근관리 기능 등은 지원하지 못한다. 본 연구에서 제시된 AID 태그 기법은 유일주소 지정기법을 사용하여 협동작업 환경하에서의 다양한 행위 객체들간의 충돌 인지 및 버전 병합을 용이하게 하고, 접근권한 테이블과 역할부여 기능을 AID 태그와 연계함으로써 작업 참여자의 역할 및 그레인 크기에 따른 문서 접근관리가 가능하도록 하였다. 또한 AID 태그 기법은 버전정보의 저장 및 관리를 위해 소요되는 파일의 크기를 줄이는 효과를 가져다 준다.

Keywords

References

  1. J. Munson and P. Dewan, 'A Flexible Object Merging Framework,' Proceedings of CSCW 94, pp.230-242, October 1994 https://doi.org/10.1145/192844.193016
  2. W. Tichy, 'RCS-a system for version control,' Software-Practice and Experience, 17(7), pp.637-654, July 1985 https://doi.org/10.1002/spe.4380150703
  3. A. Dix and R. Beale, 'Information Requirements of Distributed Workers, Remote Cooperation,' Alan Dix and Rullsel Beale (Eds.), Springer-Verlag, pp.113-143, 1996
  4. C. Neuwirth, R. Chandhok, D. Kaufer, P. Erion, J. Morris, and D. Miller, 'Flexible Diff-ing In A Collaborative Writing System,' Proceedings of CSCW 92, pp.147-154, Nov. 1992 https://doi.org/10.1145/143457.143473
  5. C. Ellis and S. Gibbs and G. Rein, 'Design and Use of a Group Editor,' Engineering for Human Computer Interaction, G. Cockton (Ed), pp.13-25, 1990
  6. D. Coleman, Groupware: Collaborative Strategies for Corporate LANS and Intranets, Prentice Hall, 1997
  7. A. Fountain, W. Hall, I. Heath, and H. Davis. 'Microcosm : an open model for hypermedia with dynamic linking,' Proceedings of the European Conference on Hypertext '90, France, Cambridge University Press, November 1990
  8. W. Hall, I. Heath, G. Hill, H. Davis, and R. Wilkins. 'Microcosm: State of the Art,' Computer Science Technical Report CSTR 92-18, University of Southhampton, Southampton, England, 1992
  9. Lotus Notes: Groupware-Communication, Collaboration, Coordination, Executive summary on Lotus Notes, Lotus Development Corp., November 1995, http://www.lotus.com/bible
  10. S. Horwitz, J. Prins and T. Reps, 'Integrating non-interfering versions of programs,' ACM Transactions on Programming Languages and Systems, 11(3), pp.345-387, 1989 https://doi.org/10.1145/65979.65980
  11. I. Witten, H, Thimbly, G. Coulouris, and S. Greenberg, 'Liveware : a new approach to sharing data in social networks,' International Journal of Man-Machine Studies, Vol.34, pp.337-348, 1995
  12. Http://www.pureatria.com/products/clearcase/
  13. R. DelRossi, 'Version Control hits the world wide web,' Software Development, 4(12), 64-70, 1996
  14. B. Magnusson, 'Fine-Grained Version Control in COOP/Orm,' Workshop on the Role of Version Control in CSCW Applications, September 1995
  15. C. Neuwirth, D. Kaufer, R. Chandlok, and J. Monis, Issues in the Design of Computer Support for Co-authoring and Commenting, Readings in Groupware and Computer-Supported Cooperative Work, Morgan Kaufmann Publishers, pp.537-549, 1993