Research on Incremental Updating
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Monotone: a Distributed Version Control System
Monotone A distributed version control system Graydon Hoare and others This manual is for the \monotone" distributed version control system. This edition docu- ments version 1.1. Copyright c 2003, 2004, 2011 Graydon Hoare Copyright c 2004, 2005, 2006 Nathaniel Smith Copyright c 2005 - 2010 Derek Scherger Copyright c 2005, 2006 Daniel Carosone Copyright c 2006 Jeronimo Pellegrini Copyright c 2006 Alex Queiroz Copyright c 2006, 2007 William Uther Copyright c 2006 - 2010 Thomas Keller Copyright c 2007 - 2012 Stephen Leake This manual is made available under the GNU GPL version 2.0 or greater. See the accom- panying file COPYING for details. i Table of Contents 1 Concepts :::::::::::::::::::::::::::::::::::::::: 1 1.1 Versions of files :::::::::::::::::::::::::::::::::::::::::::::::: 2 1.2 Versions of trees:::::::::::::::::::::::::::::::::::::::::::::::: 4 1.3 Historical records :::::::::::::::::::::::::::::::::::::::::::::: 6 1.4 Certificates::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 1.5 Storage and workflow ::::::::::::::::::::::::::::::::::::::::: 10 1.6 Forks and merges ::::::::::::::::::::::::::::::::::::::::::::: 13 1.7 Branches:::::::::::::::::::::::::::::::::::::::::::::::::::::: 15 1.7.1 Heads and merging ::::::::::::::::::::::::::::::::::::::: 15 1.7.2 Branch Names ::::::::::::::::::::::::::::::::::::::::::: 17 2 Tutorial :::::::::::::::::::::::::::::::::::::::: 19 2.1 Issues ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 19 2.1.1 Standard Options :::::::::::::::::::::::::::::::::::::::: 19 2.1.2 Revision -
Thesis Submitted for the Degree of Doctor of Philosophy at the Australian National University
Efficient Algorithms for Sorting and Synchronization Andrew Tridgell A thesis submitted for the degree of Doctor of Philosophy at The Australian National University February 1999 Except where otherwise indicated, this thesis is my own original work. Andrew Tridgell February 1999 Till min kara¨ fru, Susan Acknowledgments The research that has gone into this thesis has been thoroughly enjoyable. That en- joyment is largely a result of the interaction that I have had with my supervisors, col- leagues and, in the case of rsync, the people who have tested and used the resulting software. I feel very privileged to have worked with my supervisors, Richard Brent, Paul Mackerras and Brendan McKay. To each of them I owe a great debt of gratitude for their patience, inspiration and friendship. Richard, Paul and Brendan have taught me a great deal about the field of Computer Science by sharing with me the joy of discovery and investigation that is the heart of research. I would also like to thank Bruce Millar and Iain Macleod, who supervised my initial research in automatic speech recognition. Through Bruce, Iain and the Com- puter Sciences Laboratory I made the transition from physicist to computer scientist, turning my hobby into a career. The Department of Computer Science and Computer Sciences Laboratory have provided an excellent environment for my research. I spent many enjoyable hours with department members and fellow students chatting about my latest crazy ideas over a cup of coffee. Without this rich environment I doubt that many of my ideas would have come to fruition. The Australian Telecommunications and Electronics Research Board, the Com- monwealth and the Australian National University were very generous in providing me with scholarship assistance. -
Algorithms for Delta Compression and Remote File Synchronization
Algorithms for Delta Compression and Remote File Synchronization Torsten Suel Nasir Memon CIS Department Polytechnic University Brooklyn, NY 11201 ¡ suel,memon ¢ @poly.edu Abstract Delta compression and remote file synchronization techniques are concerned with efficient file transfer over a slow communication link in the case where the receiving party already has a similar file (or files). This problem arises naturally, e.g., when distributing updated versions of software over a network or synchronizing personal files between different accounts and devices. More generally, the problem is becoming increasingly common in many network- based applications where files and content are widely replicated, frequently modified, and cut and reassembled in different contexts and packagings. In this chapter, we survey techniques, software tools, and applications for delta compres- sion, remote file synchronization, and closely related problems. We first focus on delta com- pression, where the sender knows all the similar files that are held by the receiver. In the second part, we survey work on the related, but in many ways quite different, problem of remote file synchronization, where the sender does not have a copy of the files held by the receiver. £ Work supported by NSF CAREER Award NSF CCR-0093400 and by Intel Corporation. 1 1 Introduction Compression techniques are widely used in computer networks and data storage systems to in- crease the efficiency of data transfers and reduce space requirements on the receiving device. Most techniques focus on the problem of compressing individual files or data streams of a certain type (text, images, audio). However, in today’s network-based environment it is often the case that files and content are widely replicated, frequently modified, and cut and reassembled in different contexts and packagings. -
Towards a Better SCM: Revlog and Mercurial
Towards a Better SCM: Revlog and Mercurial Matt Mackall Selenic Consulting [email protected] Abstract projects demand scalability in multiple dimen- sions, including efficient handling of large numbers of files, large numbers of revisions, Large projects need scalable, performant, and and large numbers of developers. robust software configuration management sys- tems. If common revision control operations As an example of a moderately large project, are not cheap, they present a large barrier to we can look at the Linux kernel, a project proper software engineering practice. This pa- now in its second decade. The Linux kernel per will investigate the theoretical limits on source tree has tens of thousands of files and SCM performance, and examines how existing has collected on the order of a hundred thou- systems fall short of those ideals. sand changesets since adopting version control only a few years ago. It also has on the order I then describe the Revlog data storage scheme of a thousand contributors scattered around the created for the Mercurial SCM. The Revlog globe. It also continues to grow rapidly. So it’s scheme allows all common SCM operations to not hard to imagine projects growing to manage be performed in near-optimal time, while pro- millions of files, millions of changesets, and viding excellent compression and robustness. many thousands of people developing in par- Finally, I look at how a full distributed SCM allel over a timescale of decades. (Mercurial) is built on top of the Revlog scheme, some of the pitfalls we’ve surmounted At the same time, certain SCM features become in on-disk layout and I/O performance and the increasingly important. -
File System Support for Delta Compression
File System Support for Delta Compression Joshua P. MacDonald University of California at Berkeley, Department of Electrical Engineering and Computer Sciences, Berkeley, CA 94720, USA [email protected] Abstract Delta compression, which consists of compactly encoding one file version as the result of changes to an- other, can improve efficiency in the use of network and disk resources. Delta compression techniques are readily available and can result in compression factors of five to ten on typical data, however managing delta-compressed storage is difficult. I present a system that attempts to isolate the complexity of delta- compressed storage management by separating the task of version labeling from performance issues. I show how the system integrates delta-compressed transport with delta-compressed storage. Existing tools for managing delta-compressed storage suffer from weak file system support. Lacking trans- action support, the traditional file system has only one atomic operation which forces unnecessary disk activity due to copying costs. I demonstrate that file system transaction support can improve application performance and extensibility with the benefit of strong, fine-grained consistency. 1 Introduction The practice of delta compression, compactly encoding a file version as the mutation (delta) of an existing version, has important applications in systems today. In a version control system it is common to store related file versions using this technique to save disk space while maintaining a complete modification history. More importantly, however, delta compression can be used to reduce network transmission time. Distribution agents of all kinds can benefit from this technique whenever transporting data that is signifi- cantly similar to a previous transmission. -
Current Concepts in Version Control Systems
Current Concepts in Version Control Systems Petr Baudiˇs∗ 2009-09-11 Abstract of thousands of developers on huge projects. This work will focus on the latter end of the We give the reader a comprehensive overview of scale, describing the modern approaches for ad- the state of the Version Control software engi- vanced version control with emphasis on soft- neering field, describing and analysing the con- ware development. We will compare various sys- cepts, architectural approaches and methods re- tems and techniques, but not judge their general searched and included in the currently widely suitability as the set of requirements for version used version control systems and propose some control can vary widely. We will not focus on possible future research directions. integration of version control in the source con- figuration management systems1 since SCM is an extremely wide area and many other papers Preface already cover SCM in general. [3][15][70] This work aims to fill the sore need for an This paper has been originally written in May introduction-level but comprehensive summary 2008 as an adaptation of my Bachelor thesis and of the current state of art in version control the- I have been meaning to get back to it ever since, ory and practice. We hope that it will help new to add in some missing information, especially developers entering the field to quickly under- on some of my research ideas, describing the stand all the concepts and ideas in use. Since the patch algebra more formally and detailing on author is (was) a Git developer, we focus some- the more interesting chapters of historical de- what on the Git version control system in our velopment in the field.