Efficient Algorithms for Comparing, Storing, and Sharing

Total Page:16

File Type:pdf, Size:1020Kb

Efficient Algorithms for Comparing, Storing, and Sharing EFFICIENT ALGORITHMS FOR COMPARING, STORING, AND SHARING LARGE COLLECTIONS OF EVOLUTIONARY TREES A Dissertation by SUZANNE JUDE MATTHEWS Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY May 2012 Major Subject: Computer Science EFFICIENT ALGORITHMS FOR COMPARING, STORING, AND SHARING LARGE COLLECTIONS OF EVOLUTIONARY TREES A Dissertation by SUZANNE JUDE MATTHEWS Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Approved by: Chair of Committee, Tiffani L. Williams Committee Members, Nancy M. Amato Jennifer L. Welch James B. Woolley Head of Department, Hank W. Walker May 2012 Major Subject: Computer Science iii ABSTRACT Efficient Algorithms for Comparing, Storing, and Sharing Large Collections of Evolutionary Trees. (May 2012) Suzanne Jude Matthews, B.S.; M.S., Rensselaer Polytechnic Institute Chair of Advisory Committee: Dr. Tiffani L. Williams Evolutionary relationships between a group of organisms are commonly summarized in a phylogenetic (or evolutionary) tree. The goal of phylogenetic inference is to infer the best tree structure that represents the relationships between a group of organisms, given a set of observations (e.g. molecular sequences). However, popular heuristics for inferring phylogenies output tens to hundreds of thousands of equally weighted candidate trees. Biologists summarize these trees into a single structure called the consensus tree. The central assumption is that the information discarded has less value than the information retained. But, what if this assumption is not true? In this dissertation, we demonstrate the value of retaining and studying tree collections. We also conduct an extensive literature search that highlights the rapid growth of trees produced by phylogenetic analysis. Thus, high performance algo- rithms are needed to accommodate this increasing production of data. We created several efficient algorithms that allow biologists to easily compare, store and share tree collections over tens to hundreds of thousands of phylogenetic trees. Universal hashing is central to all these approaches, allowing us to quickly identify the shared evolutionary relationships contained in tree collections. Our algorithms MrsRF and Phlash are the fastest in the field for comparing large collections of trees. Our al- gorithm TreeZip is the most efficient way to store large tree collections. Lastly, we developed Noria, a novel version control system that allows biologists to seamlessly iv manage and share their phylogenetic analyses. Our work has far-reaching implications for both the biological and computer science communities. We tested our algorithms on four large biological datasets, each consisting of 20; 000 to 150; 000 trees over 150 to 525 taxa. Our experimental results on these datasets indicate the long-term applicability of our algorithms to modern phylogenetic analysis, and underscore their ability to help scientists easily exchange and analyze their large tree collections. In addition to contributing to the reproducibility of phylogenetic analysis, our work enables the creation of test beds for improving phylogenetic heuristics and applications. Lastly, our data structures and algorithms can be applied to managing other tree-like data (e.g XML). v ACKNOWLEDGMENTS First and foremost, I would like to thank my advisor, Dr. Tiffani L. Williams, for her guidance and support over the last six years. I first met Dr. Williams through the CRA-W DMP program, when she first became my mentor. Back then, she saw a potential in me that I didn't even know that I had. She has inspired me to always question my limits and to constantly strive for excellence. Her mentoring, compassion, and sacrifice has molded me into the researcher I am today. Though my time at Texas A&M is ending, her lessons and aphorisms will accompany me through all of life's journeys. I would also like to thank my committee members, Dr. Nancy Amato, Dr. Jennifer Welch and Dr. James Woolley, for the countless conversations, and their support and faith in me. I have had so much fun interacting and learning from them over the years. Dr. Amato and Dr. Welch have been a constant source of inspiration for me, and I am truly grateful for all their advice and time. I credit Dr. Woolley for cementing my love and appreciation for Phylogeny, and I have several fond memories of the class I took with him at Texas A&M. Next, I would like to thank the National Science Foundation for funding my research for the first three years of my PhD. I am also indebted to the Texas A&M Dissertation Fellowship program for funding me during the last year of my PhD. I am also grateful for the travel fellowships I have received over the years, including those from the Grace Hopper Conference, the Richard Tapia Conference, the SuperCom- puting Broader Engagement program, International Symposium on Bioinformatics Research and Applications (ISBRA), the Applied Mathematics Program workshop on Reproducible Research (AMP), and the NSF-ADVANCE program. The opportu- vi nities I received to network and share my research with a broader audience are truly irreplaceable. My work would also not be possible without the many wonderful collaborators I've had: Dr. Seung-Jin Sul, Dr. Marc Smith, Ana Dal Molin, Grant Brammer and Ralph Crosby. I am thankful for the discussions and friendships that have resulted from our partnerships over the years. Their separate insights allowed me to think about my work in novel ways, and have only added to the strength of this dissertation. Dr. Seung-Jin Sul was also my graduate mentor while I was in the DMP program. I am especially grateful to him for the patience, guidance and kindness he showed me while I was a new PhD student. So many friends and student mentors have been a constant source of support for me over the years. I am especially grateful to Dr. Lydia Tapia and Charles Lively for their encouragement and support. They eased my transition to Texas, and were among my first friends here. I am also grateful to all the women I met and interacted with through the Aggie Women in Computer Science: you are a constant source of joy. AWICS kept me sane these last four years, and it was an honor to be able to serve both as an officer and as Graduate President. Lastly, I would like to thank my family for their love, prayers and support over these last many years. Even though they didn't always understand what I was doing, my parents were always thrilled with any accomplishments I had to share and were a source of comfort when things got tough. Most of all, I am thankful to my fianc´e Kevin. He has been a source of constant strength and unconditional love over the last five and half years. He stood by me as made the difficult decision to move to Texas, and helped me never regret my decision. His unwavering confidence in me and my abilities have kept me going even when I thought the challenges were too much to bear. To him, I lovingly dedicate this work. vii TABLE OF CONTENTS CHAPTER Page I INTRODUCTION :::::::::::::::::::::::::: 1 A. Research Objective . 2 B. Our Contributions . 3 C. Dissertation Organization . 7 II PHYLOGENETIC ANALYSIS ::::::::::::::::::: 8 A. Motivation . 8 B. A Brief Overview of Phylogenetic Analysis . 9 C. Establishing the Value of Phylogenetic Tree Collections . 14 D. The Current State of Phylogenetic Analysis . 18 1. Journals of Interest and their Population Sizes . 20 2. Sampling Details . 22 3. Analysis . 23 a. Trends in the number of taxa and trees pro- duced over time . 25 b. Trends in the type of analysis method used over time . 27 c. Trends in software used for phylogenetic analysis 28 E. Our Biological Datasets . 29 F. Summary . 30 III CURRENT METHODS AND RELATED WORK :::::::: 32 A. Comparing Phylogenetic Trees . 32 1. Bipartitions: Topological Units of a Tree . 32 2. Distance Methods . 34 3. Topological Matrices for Comparing Trees . 36 4. Limitations . 37 B. Storing Phylogenetic Trees . 39 1. The Newick Format . 39 2. The NEXUS Format . 40 3. TASPI . 41 4. Limitations . 41 C. Sharing Phylogenetic Trees . 42 viii CHAPTER Page 1. Electronic Transfer . 42 2. Tree Databases . 43 3. Limitations . 43 D. Summary . 44 IV UNIVERSAL HASHING OF PHYLOGENETIC TREES :::: 46 A. Universal Hashing of Phylogenetic Trees . 46 B. Using Hashing to Detect Unique Bipartitions . 47 C. Using Hashing to Detect Unique Trees . 50 D. Supporting Heterogeneous Trees . 52 E. Handling Hashing Collisions . 54 F. Summary . 55 V EFFICIENT ALGORITHMS FOR COMPARING LARGE GROUPS OF PHYLOGENETIC TREES ::::::::::::: 57 A. Motivation . 57 B. MrsRF: Using MapReduce for Comparing Trees with Robinson-Foulds Distance . 58 1. MapReduce . 58 a. Phoenix: a MapReduce library . 60 2. Algorithm Description . 61 3. MrsRF(p; q): Computing a p × q RF sub-matrix . 63 a. Phase 1 of the MrsRF(p; q) algorithm . 63 b. Phase 2 of the MrsRF(p; q) algorithm . 65 4. Algorithm Analysis . 67 5. Experimental Analysis . 68 a. Cluster configurations . 68 b. Establishing the fastest sequential algorithm . 68 c. Multi-core performance on freshwater trees . 70 d. Multi-core performance on angiosperms trees . 71 C. Phlash: Advanced Topological Comparison . 72 1. The ABCs of Topological Comparisons . 73 a. Computing similarity and distance between bit- strings . 73 b. Weighted similarity and distance . 75 2. Algorithm Description . 77 a. Step 1: Constructing the compact or shared table of interest . 77 ix CHAPTER Page b. Step 2: Computing the a, b, c, and d values between trees . 81 c. Step 3: Computing a t × t matrix of interest . 85 d. A note about comparing heterogeneous trees . 86 3. Algorithm Analysis . 86 4. Experimental Analysis . 87 a.
Recommended publications
  • Higher Inductive Types (Hits) Are a New Type Former!
    Git as a HIT Dan Licata Wesleyan University 1 1 Darcs Git as a HIT Dan Licata Wesleyan University 1 1 HITs 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] Higher inductive types (HITs) are a new type former! 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] Higher inductive types (HITs) are a new type former! They were originally invented[Lumsdaine,Shulman,…] to model basic spaces (circle, spheres, the torus, …) and constructions in homotopy theory 2 Generator for 2 equality of equality HITs Homotopy Type Theory is an extension of Agda/Coq based on connections with homotopy theory [Hofmann&Streicher,Awodey&Warren,Voevodsky,Lumsdaine,Garner&van den Berg] Higher inductive types (HITs) are a new type former! They were originally invented[Lumsdaine,Shulman,…] to model basic spaces (circle, spheres, the torus, …) and constructions in homotopy theory But they have many other applications, including some programming ones! 2 Generator for 2 equality of equality Patches Patch a a 2c2 diff b d = < b c c --- > d 3 3 id a a b b
    [Show full text]
  • Analysis of Devops Tools to Predict an Optimized Pipeline by Adding Weightage for Parameters
    International Journal of Computer Applications (0975 – 8887) Volume 181 – No. 33, December 2018 Analysis of DevOps Tools to Predict an Optimized Pipeline by Adding Weightage for Parameters R. Vaasanthi V. Prasanna Kumari, PhD S. Philip Kingston Research Scholar, HOD, MCA Project Manager SCSVMV University Rajalakshmi Engineering Infosys, Mahindra City, Kanchipuram College, Chennai Chennai ABSTRACT cloud. Now-a-days more than ever, DevOps [Development + Operations] has gained a tremendous amount of attention in 2. SCM software industry. Selecting the tools for building the DevOps Source code management (SCM) is a software tool used for pipeline is not a trivial exercise as there are plethora’s of tools development, versioning and enables team working in available in market. It requires thought, planning, and multiple locations to work together more effectively. This preferably enough time to investigate and consult other plays a vital role in increasing team’s productivity. Some of people. Unfortunately, there isn’t enough time in the day to the SCM tools, considered for this study are GIT, SVN, CVS, dig for top-rated DevOps tools and its compatibility with ClearCase, Mercurial, TFS, Monotone, Bitkeeper, Code co- other tools. Each tool has its own pros/cons and compatibility op, Darcs, Endevor, Fossil, Perforce, Rational Synergy, of integrating with other tools. The objective of this paper is Source Safe, and GNU Bazaar. Table1 consists of SCM tools to propose an approach by adding weightage to each with weightage. parameter for the curated list of the DevOps tools. 3. BUILD Keywords Build is a process that enables source code to be automatically DevOps, SCM, dependencies, compatibility and pipeline compiled into binaries including code level unit testing to ensure individual pieces of code behave as expected [4].
    [Show full text]
  • Bluej Teamwork Repository Configuration
    BlueJ Teamwork Repository Configuration Version 2.0 for BlueJ Version 2.5.0 (and 2.2.x) Davin McCall School of Engineering & IT, Deakin University 1 Introduction This document gives a brief description of how you might set up a version control repository for use with BlueJ’s teamwork features. It is intended mainly as a “quick start” guide and not as a complete reference – for that you should refer to the version control software documentation (i.e. the CVS manual or the Subversion manual) – but it does explain some BlueJ-specific concepts (such as how BlueJ supports the notion of student groups or teams). Setting up a repository usually requires a server to which you have “root” or administrator access. This may mean that you need to ask a Systems Administrator to set up the repository for you. Since BlueJ version 2.5.0, both Subversion and CVS are supported version control systems. BlueJ version 2.2.x supports only CVS. BlueJ versions prior to 2.2.0 did not support teamwork features. Chapters 2 and 3 explain how to set up and test a repository using CVS. Chapter 4 then covers the equivalent steps for using Subversion. 2 Setting up a simple single user CVS repository for testing the BlueJ teamwork features 2.1 Setting up the repository server On Unix / Linux / MacOS X: You must have the CVS software installed on the machine you intend to use as a server. There is a good chance that it is already installed, but if not, your vendor or distribution provider will almost certainly provide packages that can be installed.
    [Show full text]
  • DVCS Or a New Way to Use Version Control Systems for Freebsd
    Brief history of VCS FreeBSD context & gures Is Arch/baz suited for FreeBSD? Mercurial to the rescue New processes & policies needed Conclusions DVCS or a new way to use Version Control Systems for FreeBSD Ollivier ROBERT <[email protected]> BSDCan 2006 Ottawa, Canada May, 12-13th, 2006 Ollivier ROBERT <[email protected]> DVCS or a new way to use Version Control Systems for FreeBSD Brief history of VCS FreeBSD context & gures Is Arch/baz suited for FreeBSD? Mercurial to the rescue New processes & policies needed Conclusions Agenda 1 Brief history of VCS 2 FreeBSD context & gures 3 Is Arch/baz suited for FreeBSD? 4 Mercurial to the rescue 5 New processes & policies needed 6 Conclusions Ollivier ROBERT <[email protected]> DVCS or a new way to use Version Control Systems for FreeBSD Brief history of VCS FreeBSD context & gures Is Arch/baz suited for FreeBSD? Mercurial to the rescue New processes & policies needed Conclusions The ancestors: SCCS, RCS File-oriented Use a subdirectory to store deltas and metadata Use lock-based architecture Support shared developments through NFS (fragile) SCCS is proprietary (System V), RCS is Open Source a SCCS clone exists: CSSC You can have a central repository with symlinks (RCS) Ollivier ROBERT <[email protected]> DVCS or a new way to use Version Control Systems for FreeBSD Brief history of VCS FreeBSD context & gures Is Arch/baz suited for FreeBSD? Mercurial to the rescue New processes & policies needed Conclusions CVS, the de facto VCS for the free world Initially written as shell wrappers over RCS then rewritten in C Centralised server Easy UI Use sandboxes to avoid locking Simple 3-way merges Can be replicated through CVSup or even rsync Extensive documentation (papers, websites, books) Free software and used everywhere (SourceForge for example) Ollivier ROBERT <[email protected]> DVCS or a new way to use Version Control Systems for FreeBSD Brief history of VCS FreeBSD context & gures Is Arch/baz suited for FreeBSD? Mercurial to the rescue New processes & policies needed Conclusions CVS annoyances and aws BUT..
    [Show full text]
  • Opinnäytetyö Ohjeet
    Lappeenrannan–Lahden teknillinen yliopisto LUT School of Engineering Science Tietotekniikan koulutusohjelma Kandidaatintyö Mikko Mustonen PARHAITEN OPETUSKÄYTTÖÖN SOVELTUVAN VERSIONHALLINTAJÄRJESTELMÄN LÖYTÄMINEN Työn tarkastaja: Tutkijaopettaja Uolevi Nikula Työn ohjaaja: Tutkijaopettaja Uolevi Nikula TIIVISTELMÄ LUT-yliopisto School of Engineering Science Tietotekniikan koulutusohjelma Mikko Mustonen Parhaiten opetuskäyttöön soveltuvan versionhallintajärjestelmän löytäminen Kandidaatintyö 2019 31 sivua, 8 kuvaa, 2 taulukkoa Työn tarkastajat: Tutkijaopettaja Uolevi Nikula Hakusanat: versionhallinta, versionhallintajärjestelmä, Git, GitLab, SVN, Subversion, oppimateriaali Keywords: version control, version control system, Git, GitLab, SVN, Subversion, learning material LUT-yliopistossa on tietotekniikan opetuksessa käytetty Apache Subversionia versionhallintaan. Subversionin käyttö kuitenkin johtaa ylimääräisiin ylläpitotoimiin LUTin tietohallinnolle. Lisäksi Subversionin julkaisun jälkeen on tullut uusia versionhallintajärjestelmiä ja tässä työssä tutkitaankin, olisiko Subversion syytä vaihtaa johonkin toiseen versionhallintajärjestelmään opetuskäytössä. Työn tavoitteena on löytää opetuskäyttöön parhaiten soveltuva versionhallintajärjestelmä ja tuottaa sille opetusmateriaalia. Työssä havaittiin, että Git on suosituin versionhallintajärjestelmä ja se on myös suhteellisen helppo käyttää. Lisäksi GitLab on tutkimuksen mukaan Suomen yliopistoissa käytetyin ja ominaisuuksiltaan ja hinnaltaan sopivin Gitin web-käyttöliittymä. Näille tehtiin
    [Show full text]
  • Darcs 2.0.0 (2.0.0 (+ 75 Patches)) Darcs
    Darcs 2.0.0 (2.0.0 (+ 75 patches)) Darcs David Roundy April 23, 2008 2 Contents 1 Introduction 7 1.1 Features . 9 1.2 Switching from CVS . 11 1.3 Switching from arch . 12 2 Building darcs 15 2.1 Prerequisites . 15 2.2 Building on Mac OS X . 16 2.3 Building on Microsoft Windows . 16 2.4 Building from tarball . 16 2.5 Building darcs from the repository . 17 2.6 Building darcs with git . 18 2.7 Submitting patches to darcs . 18 3 Getting started 19 3.1 Creating your repository . 19 3.2 Making changes . 20 3.3 Making your repository visible to others . 20 3.4 Getting changes made to another repository . 21 3.5 Moving patches from one repository to another . 21 3.5.1 All pulls . 21 3.5.2 Send and apply manually . 21 3.5.3 Push . 22 3.5.4 Push —apply-as . 22 3.5.5 Sending signed patches by email . 23 3.6 Reducing disk space usage . 26 3.6.1 Linking between repositories . 26 3.6.2 Alternate formats for the pristine tree . 26 4 Configuring darcs 29 4.1 prefs . 29 4.2 Environment variables . 32 4.3 General-purpose variables . 33 4.4 Remote repositories . 34 3 4 CONTENTS 4.5 Highlighted output . 36 4.6 Character escaping and non-ASCII character encodings . 36 5 Best practices 39 5.1 Introduction . 39 5.2 Creating patches . 39 5.2.1 Changes . 40 5.2.2 Keeping or discarding changes . 40 5.2.3 Unrecording changes .
    [Show full text]
  • CSE 391 Lecture 9
    CSE 391 Lecture 9 Version control with Git slides created by Ruth Anderson & Marty Stepp, images from http://git-scm.com/book/en/ http://www.cs.washington.edu/391/ 1 Problems Working Alone • Ever done one of the following? . Had code that worked, made a bunch of changes and saved it, which broke the code, and now you just want the working version back… . Accidentally deleted a critical file, hundreds of lines of code gone… . Somehow messed up the structure/contents of your code base, and want to just “undo” the crazy action you just did . Hard drive crash!!!! Everything’s gone, the day before deadline. • Possible options: . Save as (MyClass-v1.java) • Ugh. Just ugh. And now a single line change results in duplicating the entire file… 2 Problems Working in teams . Whose computer stores the "official" copy of the project? • Can we store the project files in a neutral "official" location? . Will we be able to read/write each other's changes? • Do we have the right file permissions? • Lets just email changed files back and forth! Yay! . What happens if we both try to edit the same file? • Bill just overwrote a file I worked on for 6 hours! . What happens if we make a mistake and corrupt an important file? • Is there a way to keep backups of our project files? . How do I know what code each teammate is working on? 3 Solution: Version Control • version control system: Software that tracks and manages changes to a set of files and resources. • You use version control all the time .
    [Show full text]
  • Software Development a Practical Approach!
    Software Development A Practical Approach! Hans-Petter Halvorsen https://www.halvorsen.blog https://halvorsen.blog Software Development A Practical Approach! Hans-Petter Halvorsen Software Development A Practical Approach! Hans-Petter Halvorsen Copyright © 2020 ISBN: 978-82-691106-0-9 Publisher Identifier: 978-82-691106 https://halvorsen.blog ii Preface The main goal with this document: • To give you an overview of what software engineering is • To take you beyond programming to engineering software What is Software Development? It is a complex process to develop modern and professional software today. This document tries to give a brief overview of Software Development. This document tries to focus on a practical approach regarding Software Development. So why do we need System Engineering? Here are some key factors: • Understand Customer Requirements o What does the customer needs (because they may not know it!) o Transform Customer requirements into working software • Planning o How do we reach our goals? o Will we finish within deadline? o Resources o What can go wrong? • Implementation o What kind of platforms and architecture should be used? o Split your work into manageable pieces iii • Quality and Performance o Make sure the software fulfills the customers’ needs We will learn how to build good (i.e. high quality) software, which includes: • Requirements Specification • Technical Design • Good User Experience (UX) • Improved Code Quality and Implementation • Testing • System Documentation • User Documentation • etc. You will find additional resources on this web page: http://www.halvorsen.blog/documents/programming/software_engineering/ iv Information about the author: Hans-Petter Halvorsen The author currently works at the University of South-Eastern Norway.
    [Show full text]
  • This Book Doesn't Tell You How to Write Faster Code, Or How to Write Code with Fewer Memory Leaks, Or Even How to Debug Code at All
    Practical Development Environments By Matthew B. Doar ............................................... Publisher: O'Reilly Pub Date: September 2005 ISBN: 0-596-00796-5 Pages: 328 Table of Contents | Index This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project. Practical Development Environments is a guide, a collection of advice about real development environments for small to medium-sized projects and groups. Each of the chapters considers a different kind of tool - tools for tracking versions of files, build tools, testing tools, bug-tracking tools, tools for creating documentation, and tools for creating packaged releases. Each chapter discusses what you should look for in that kind of tool and what to avoid, and also describes some good ideas, bad ideas, and annoying experiences for each area. Specific instances of each type of tool are described in enough detail so that you can decide which ones you want to investigate further. Developers want to write code, not maintain makefiles. Writers want to write content instead of manage templates. IT provides machines, but doesn't have time to maintain all the different tools. Managers want the product to move smoothly from development to release, and are interested in tools to help this happen more often.
    [Show full text]
  • Documentation for Fisheye 2.8 Documentation for Fisheye 2.8 2
    Documentation for FishEye 2.8 Documentation for FishEye 2.8 2 Contents Getting started . 8 Supported platforms . 8 End of Support Announcements for FishEye . 12 End of Support Announcement for IBM ClearCase . 14 End of Support Announcement for Internally Managed Repositories . 14 Installing FishEye on Windows . 16 Running FishEye as a Windows service . 19 Installing FishEye on Linux and Mac . 23 Starting to use FishEye . 26 Configuring JIRA Integration in the Setup Wizard . 31 Using FishEye . 38 Using the FishEye Screens . 39 Browsing through a repository . 41 Searching FishEye . 44 Viewing a File . 49 Viewing File Content . 50 Using Side by Side Diff View . 51 Viewing a File History . 53 Viewing the Changelog . 54 FishEye Charts . 56 Using Favourites in FishEye . 61 Changeset Discussions . 64 Viewing the commit graph for a repository . 64 Viewing People's Statistics . 68 Using smart commits . 70 Changing your User Profile . 75 Re-setting your password . 79 Antglob Reference Guide . 80 Date Expressions Reference Guide . 81 EyeQL Reference Guide . 82 Administering FishEye . 88 Managing your repositories . 89 Adding an External Repository . 91 CVS . 92 Git . 93 Mercurial . 96 Perforce . 98 Subversion . 101 SVN fisheye.access . 105 SVN tag and branch structure . 106 Adding an Internal Repository . 114 Enabling Repository Management in FishEye . 115 Creating Git Repositories . 117 Forking Git Repositories . 119 Deleting a Git Repository . 122 Setting up a Repository Client . 122 CVS Client . 122 Git Client . 122 Mercurial Client . 122 Perforce Client . 123 Subversion Client . 124 Native Subversion Client . 124 SVNkit Client . 126 Re-indexing your Repository . 126 Repository Options . 128 Authentication . 130 Created by Atlassian in 2012.
    [Show full text]
  • Distributed Versioning for Everyone
    Distributed versioning for everyone Distributed versioning for everyone Nicolas Pouillard [email protected] March 20, 2008 Nicolas Pouillard Distributed versioning for everyoneMarch 20, 2008 1 / 48 Distributed versioning for everyone Introduction Outline 1 Introduction 2 Principles of Distributed Versioning 3 Darcs is one of them 4 Conclusion Nicolas Pouillard Distributed versioning for everyoneMarch 20, 2008 2 / 48 Distributed versioning for everyone Introduction SCM: “Source Code Manager” Keeps track of changes to source code so you can track down bugs and work collaboratively. Most famous example: CVS Numerous acronyms: RCS, SCM, VCS DSCM: Distributed Source Code Manager Nicolas Pouillard Distributed versioning for everyoneMarch 20, 2008 3 / 48 Distributed versioning for everyone Introduction Purpose What’s the purpose of this presentation Show the importance of the distributed feature Enrich your toolbox with a DSCM Exorcize rumors about darcs Show how DSCM are adapted for personal use What’s not the purpose of it A flame against other DSCMs A precise darcs tutorial A real explanation of the Theory of patches Nicolas Pouillard Distributed versioning for everyoneMarch 20, 2008 4 / 48 Distributed versioning for everyone Principles of Distributed Versioning Outline 1 Introduction 2 Principles of Distributed Versioning 3 Darcs is one of them 4 Conclusion Nicolas Pouillard Distributed versioning for everyoneMarch 20, 2008 5 / 48 Distributed versioning for everyone Principles of Distributed Versioning Distributed rather than centralized
    [Show full text]
  • Tortoisecvs User's Guide Version 1.8.0
    TortoiseCVS User's Guide Version 1.8.0 Ben Campbell Martin Crawford Hartmut Honisch Francis Irving Torsten Martinsen Ian Dees Copyright © 2001 - 2004 TortoiseCVS Table of Contents 1. Getting Started What is CVS? What is TortoiseCVS? Where to Begin? 2. Basic Usage of TortoiseCVS Sandboxes Checking out a Module Windows Explorer and TortoiseCVS Total Commander and TortoiseCVS Updating your Sandbox Committing your Changes to the Repository Resolving Conflicts Adding Files and Directories to the Repository 3. Advanced Usage of TortoiseCVS Creating a New Repository or Module Watch, Edit and Unedit Tagging and Labeling Reverting to an Older Version of a File Branching And Merging Creating a Branch Selecting a Branch to Work On Merging from a Branch Going Back to the Head Branch Binary and Unicode Detection File Revision History History Dialog Revision Graph Dialog Web Log Making a Patch File 4. Customizing TortoiseCVS Overlay Icons Selecting a Different Set of Overlay Icons Changing how the Overlay Icons Work 5. Command Reference for TortoiseCVS Installing TortoiseCVS Obtaining a Working Copy: CVS Checkout... Getting Other People's Changes: CVS Update CVS Update Special... Making Your Changes Available to Others: CVS Commit... Adding New Files: CVS Add and CVS Add Contents... Discarding Obsolete Files: CVS Remove Finding Out What Has Changed: CVS Diff... Making a Snapshot: CVS Tag... Lines of Development: CVS Branch... CVS Merge... CVS Make New Module Watching And Locking Finding Out Who to Blame: CVS Annotate Showing More Information: CVS Explorer Columns Keyboard Shortcuts How Web Log Autodetects the Server URL 6. Dialog Reference for TortoiseCVS Add Dialog Checkout Dialog Update Special Dialog Commit Dialog Branch Dialog Make New Module Dialog Progress Dialog Tag Dialog Preferences Dialog Merge Dialog History Dialog Revision Graph Dialog About Dialog 7.
    [Show full text]