Proceedings of the ECSCW'95 Workshop on the Role of Version Control in CSCW Applications (original) (raw)

VC2-Providing Awareness in Off-The-Shelf Version Control Systems

2007

Version control systems have been used to help groups of people working at the same or distributed sites to cooperatively create documents. In particular, these systems are very popular in distributed collaborative software development. However, even using these systems, users often perform concurrent changes that require manual conflict resolution. Important causes for this situation are the lack of mutual awareness and coordination, among developers, and reluctance to commit unstable modifications. The paper addresses this problem by providing a tool that integrates with offthe-shelf version control systems and monitors filesystem accesses to relevant files in order to enhance the awareness among developers. With V C 2 users can be aware of uncommitted changes made by remote users; receive request to commit their own changes; be advised to update their local versions. While the final decision is always under user control, the team is made aware of the level of risk when delaying commits and updates.

Comparison of version control system tools

Multidiszciplináris Tudományok

Version control systems (VCS) are widely applied at software companies as a collaborative tool and to maintain multiple versions of source code and documentation. VCS is a software tool that manages development of software projects and provide methods to manage several developers working together and track them. Collaboration considers the master purpose of version control systems. Modern VCS supports the parallel development of artifacts using branches and merges. Currently, the version control system adopts on two approaches to software development, the Centralized Version Control System (CVCS) and the Distributed Version Control System (DVCS). This article introduces the concepts and comparison of Version Control Systems and some criteria to consider when selecting.

An empirical evaluation of an advanced version control tool in conflict detection and resolution

International Journal of Computers and Applications, 2018

Distributed Software Development (DSD) is drawing a lot of attention from the research community due to its increasing significance. However, distance becomes a barrier in communication and coordination in such kind of development. Many tools have been used to help coordination in DSD. One such tool is Software Configuration Management (SCM) which has become an integral part of DSD. Although it coordinates the developers' effort, it has the limitation of not detecting conflicts at an early stage. Therefore, the Advance Version Control (AVC) tool has been designed and implemented to enhance the functionality of the version control system in a distributed environment. It performs versioning of files as well as detects the conflicts at an early stage and informs the concerned developers about conflicting changes. It provides code sharing to mutually resolve the inconsistencies. It also provides a communication medium because, sometimes, communication between conflicting developers can also solve the problem. This paper presents the results from an empirical evaluation of tool AVC. To measure the effectiveness of the tool, a metric suite is designed. Also, two experiments have been performed among the developers to check the efficiency of the tool. This work has been carried out as an extension of the work done in the paper [Kaur I, Singh H. Advanced Version Control (AVC): a paradigm shift from version control to conflict management. IJCA. June 2017;167(10):7-15].

Rcs — a system for version control

Software: Practice and Experience, 1985

An important problem in program development and maintenance is version control. i.e .. the task of keeping a software system consisting of many ver" si~ns and configurations well organized. The Revision Control System. (RCS) is a software tool that assists with that task. This paper presents RCS from the user's point of view. describing how to employ RCS for managing multiple versions of individual components as well as configurations.

VeCVL: A Visual Language for Version Control

Version control systems (VCS), such as Subversion and Git, are pervasive in industry; they are invaluable tools for collaborative development that allow software engineers to track changes, monitor issues, merge work from multiple people, and manage releases. These tools are most effective when they are a part of a developer’s habitual work- flow. Unfortunately, the use of these powerful tools is often taught much later in a developer’s educational career than other tools like programming languages or databases. Even an experienced student’s first experience with version control can be unpleasant. In this paper, the authors analyze the workflow of two common Version Control Systems with different version controls (Subversion and Git) to build a common visual language for these systems (Version Control Visual Language, or VeCVL), and show that the same visual language applies to other version control systems.

A Comparison and the Desireable Features of Version Control Tools

2007 29th International Conference on Information Technology Interfaces, 2007

The software development team is regularly faced with two major problems: access to previous software versions and simultaneous work of many programmers on the same source code at the same time. Some development teams solve these problems by using version control tools, while others opt for manual version control. This paper analyzes both approaches and compares them according to certain criteria.

The Relation of Version Control to Concurrent Programming

2008 International Conference on Computer Science and Software Engineering, 2008

Version control helps coordinating a group of people working concurrently to achieve a shared objective. Concurrency control helps coordinating a group of threads working concurrently to achieve a shared objective. The seemingly superficial analogy between version control and concurrency control is deeper than expected. A comparison of three major flavors of version control systems (exemplified by RCS, Subversion, and Darcs) with three influential and representative approaches to concurrency control (monitors, STM, and message passing) exhibits a surprisingly close correspondences in terms of mechanism and workflow. The correspondence yields new perspectives on both, version control and concurrency control.

Version Control System: A Review

Procedia Computer Science, 2018

Version Control Systems (VCS) have been used by many software developers during project developments as it helps them to manage the source codes and enables them to keep every version of the project they have worked on. It is the way towards managing, organizing, and coordinating the development of objects. In Software Engineering, software developers need to collaborate with each other to develop a better project. Thus, VCS is very useful because it also supports a collaborative framework that makes it easy for software developers to work together effectively. Without VCS, collaboration is very challenging. This paper discusses the background and the related works about VCS that have been studied by researchers. The purpose of this paper is to convey the knowledge and ideas that have been established on VCS.

Version control in the Inscape environment

Proceedings of the 9th international conference on …, 1987

We present the important issues to be considered in version control mechanisms and characterize and compare the kinds of version control systems extant in current programming environments. We then characterize Inscape's version control mechanism, Invariant, and show that it makes several significant advances in the state of the art. Using Instress (Inscape's module interface specification language) specifications, Invariant provides a better understanding of the notion of parallel versions, a more comprehensive notion of version consistency, and a more flexible method of system composition than current mechanisms. In particular, Invariant provides a formalization of the notions of version equivalence and compatibility that correspond closely with our intuitive (and practical) notions of version equivalence and compatibility. These various forms of version compatibility provide the system builder with the concept of plugcompatibility -an extremely useful facility in composing systems from component parts.