Using Source Code Versioning & Management Tools

Total Page:16

File Type:pdf, Size:1020Kb

Using Source Code Versioning & Management Tools Using Source Code Versioning & Management Tools NRCFOSS 1 diff • The diff program compares two versions of a document, generating a set of differences that reflect the changes that need to be applied to the old document to make it identical to the new document diff –c orig/file newfile > changes.txt NRCFOSS 2 patch • The set of differences can be transported to someone who has the original copy of the document. By running the patch program, the document contents can be updated to the new version cd orig patch < changes.txt NRCFOSS 3 Why diff and patch is not sufficient for Version Control • A submission was incorporated into the sources and had to be removed later because it contained flaws • By that time, it was hard to figure out who applied what patch when • Even if programmers could track down the change, manually undoing the effect of a patch long after the fact is a tedious and error-prone process • The solution was a system for keeping track of a project’s history—one that allowed the retrieval of previous versions for comparison with the present version. NRCFOSS 4 Revision Control • Revision control is any practice which tracks and provides controls over changes to source code • As software is developed and deployed, it is extremely common for multiple versions of the same software to be deployed in different sites, and for the software's developers to be working privately on updates. • Bugs and other issues with software are often only present in certain versions (because of the fixing of some problems and the introduction of others as the program evolves) NRCFOSS 5 Revision Control ... • Therefore, for the purposes of locating and fixing bugs, it is vitally important for the debugger to be able to retrieve and run different versions of the software to determine in which version(s) the problem occurs. • It may also be necessary to develop two versions of the software concurrently (for instance, where one version has bugs fixed, but no new features, where the other is where new features are worked on) NRCFOSS 6 Access by Multiple Developers • Another problem that occurs in large software development projects is that of multiple developers seeking to work on the program at the same time • If two developers try to change the same file at the same time, without some method of managing access the developers may well end up overwriting each other's work NRCFOSS 7 Source Code Versioning software • To control and manage the different versions of the source code files, a variety of software are available as Free/Open Source Software • Basically they can be classified as: – those using a distributed approach (e.g. GNU Arch, Codeville) – those that are using non-distributed approach (RCS, CVS, Subversion) NRCFOSS 8 Proprietary Version Control Software • Bitkeeper (was used in Linux Kernel development from Dec 1999 to April 2005) • Clearcase (widely used in the Corporate environment) • SCCS – Source Code Control System (part of UNIX) • Microsoft Visual Source Safe NRCFOSS 9 What is CVS? • CVS stands for Concurrent Versions System and is a widely used version control system for FOSS development • It started out as a bunch of shell scripts written by Dick Grune, posted to the comp.sources.unix in vol.6/July/1986. • No actual code from these shell scripts is present in the current version of cvs, much of the cvs conflict resolution algorithm come from them NRCFOSS 10 CVS History continued • In April 1989, Brian Berliner designed and coded cvs • Jeff Polk later helped Brian with the design of the cvs module and vendor branch support • Can be downloaded from http://www.cvshome.org NRCFOSS 11 What CVS is not? • CVS is not a build system • CVS is not a substitute for management • CVS is not a substitute for developer communication • CVS does not have change control • CVS is not an automated testing program • CVS does not have built-in process model • Not the Lock-Modify-Unlock Model NRCFOSS 12 What is CVS for? • CVS maintains a history of a source tree, in terms of a series of changes. • It stamps each change with the time it was made and the user name of the person who made it. • Usually, the person provides a bit of text describing why they made the change as well. • Given that information, CVS can help developers answer questions like: – Who made a given change? – When did they make it? – Why did they make it? – What other changes did they make at the same time? • Follows Copy-Modify-Merge Model NRCFOSS 13 How CVS works? • CVS stores files in a central repository, to be accessible to all users of the files. • Commands are given to "check out" a copy of a file for development, and "commit" changes back to the repository. • It also scans the files as they are moved to and from the repository, to prevent one person's work from overwriting another's. NRCFOSS 14 client side usage of CVS NRCFOSS 15 Setting up the repository • CVS records everyone's changes to a given project in a directory tree called a repository. • Before you can use CVS, you need to set the $CVSROOT environment variable to the repository's path • e.g. In Bash shell, it can be done as: CVSROOT=/u/src/master export CVSROOT NRCFOSS 16 Setting up repository... • If you forget to do this, CVS will complain when you try to use it: $ cvs checkout httpc cvs checkout: No CVSROOT specified! Please use the `-d' option cvs [checkout aborted]: or set the CVSROOT environment variable. NRCFOSS 17 The Repository • The cvs repository stores a complete copy of all the files and directories which are under version control • cvs repository can be either local or remote, which can be identified with an access method • The format of the repository name is: [:method:][[user][:password]@]hostname [:[port]]/path/to/repository NRCFOSS 18 Example of using repository name • :local:/usr/local/cvsroot means that • the repository is in ‘/usr/local/cvsroot’ • on the computer running cvs • /usr/local/cvsroot • :local:c:/src/cvsroot (on windows) • :ext:[email protected]:/h ome/cvs NRCFOSS 19 CVS related Environment Variable • $CVSEDITOR • $EDITOR • $CVSROOT • $CVS_RSH NRCFOSS 20 • Checking out a working directory • Making changes to files • Merging the changes • Committing the changes • Examining changes • Adding and Deleting files • Writing log entries • Handling Conflicts NRCFOSS 21 Checking out a working directory • CVS doesn't work on ordinary directory trees; you need to work within a directory that CVS created for you. • Just as you check out a book from a library before taking it home to read it, you use the cvs checkout command to get a directory tree from CVS before working on it. NRCFOSS 22 checkout • For example, suppose you are working on a project named httpc, a trivial HTTP client: $ cd $ cvs checkout httpc cvs checkout: Updating httpc U httpc/.cvsignore U httpc/Makefile U httpc/httpc.c U httpc/poll-server NRCFOSS 23 checkout ... • CVS puts the tree in a subdirectory named `httpc': $ cd httpc $ ls -l total 8 drwxr-xr-x 2 jimb 512 Oct 31 11:04 CVS -rw-r--r-- 1 jimb 89 Oct 31 10:42 Makefile -rw-r--r-- 1 jimb 4432 Oct 31 10:45 httpc.c -rwxr-xr-x 1 jimb 460 Oct 30 10:21 poll-server • CVS uses the directory “CVS” to record extra information • about each of the files in that directory, to help it determine what changes you've made since you checked it out. NRCFOSS 24 Making changes to file • Once CVS has created a working directory tree, you can edit, compile and test the files it contains in the usual way -- they're just files. • For example, suppose we try compiling the package we just checked out: $ make gcc -g -Wall -lnsl -lsocket httpc.c -o httpc httpc.c: In function `tcp_connection': httpc.c:48: warning: passing arg 2 of `connect' from incompatible pointer type NRCFOSS 25 Merging the changes • Let’s assume we modified line#48 and corrected the error in that function call • Since each developer uses their own working directory, the changes you make to your working directory aren't automatically visible to the other developers on your team. • CVS doesn't publish your changes until you're ready. NRCFOSS 26 why update before commit? • When you're done testing your changes, you must commit them to the repository to make them available to the rest of the group. • What if another developer has changed the same files you have, or the same lines? Whose changes should prevail? It's generally impossible to answer this question automatically; CVS certainly isn't competent to make that judgment. NRCFOSS 27 update • Before you can commit your changes, CVS requires your sources to be in sync with any changes committed by the other team members. The cvs update command takes care of this: $ cvs update cvs update: Updating . U Makefile RCS file: /u/src/master/httpc/httpc.c,v retrieving revision 1.6 retrieving revision 1.7 Merging differences between 1.6 and 1.7 into httpc.c M httpc.c NRCFOSS 28 precaution after update • Always check whether your code is still working after an update since it now contains somebody else modifications also • Once you are sure, it works, then you can commit the changes to the repository • Before committing, it's always safe to run cvs update to get a list of the modified files from CVS: $ cvs update cvs update: Updating . M httpc.c NRCFOSS 29 commit $ cvs commit httpc.c • At this point, CVS will start up your favorite editor and prompt you for a log message describing the change.
Recommended publications
  • FAKULTÄT FÜR INFORMATIK Leveraging Traceability Between Code and Tasks for Code Reviews and Release Management
    FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Master’s Thesis in Informatics Leveraging Traceability between Code and Tasks for Code Reviews and Release Management Jan Finis FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Master’s Thesis in Informatics Leveraging Traceability between Code and Tasks for Code Reviews and Release Management Einsatz von Nachvollziehbarkeit zwischen Quellcode und Aufgaben für Code Reviews und Freigabemanagement Author: Jan Finis Supervisor: Prof. Bernd Brügge, Ph.D. Advisors: Maximilian Kögel, Nitesh Narayan Submission Date: May 18, 2011 I assure the single-handed composition of this master’s thesis only supported by declared resources. Sydney, May 10th, 2011 Jan Finis Acknowledgments First, I would like to thank my adviser Maximilian Kögel for actively supporting me with my thesis and being reachable for my frequent issues even at unusual times and even after he left the chair. Furthermore, I would like to thank him for his patience, as the surrounding conditions of my thesis, like me having an industrial internship and finishing my thesis abroad, were sometimes quite impedimental. Second, I want to thank my other adviser Nitesh Narayan for helping out after Max- imilian has left the chair. Since he did not advise me from the start, he had more effort working himself into my topic than any usual adviser being in charge of a thesis from the beginning on. Third, I want to thank the National ICT Australia for providing a workspace, Internet, and library access for me while I was finishing my thesis in Sydney. Finally, my thanks go to my supervisor Professor Bernd Brügge, Ph.D.
    [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]
  • Bazaar, Das DVCS
    Bazaar, das DVCS Marek Kubica 20. November 2008 Marek Kubica Bazaar, das DVCS Vorweg ein paar Infos Mit was ich so spiele Bazaar in der Arbeit Mercurial für Python-Projekte Git für den Rest Welche Spielzeuge lass ich links liegen CVS wozu noch wo es SVN gibt? SVN wozu noch wenn es DVCS gibt? darcs lohnt sich nicht mehr monotone, codeville, arch obsolete das selbsgehackte, tolle DVCS deines Nachbarn ;) Marek Kubica Bazaar, das DVCS Geschichte In the beginning, there was GNU Arch Marek Kubica Bazaar, das DVCS GNU Arch Die Anfänge von DVCS CVS stinkt, wir brauchen was besseres SVN ist Evolution, keine Revolution GNU Arch war das erste DVCS mit dem ich in Kontakt kam (larch) fürchterlich kompliziert wurde dann von tla ersetzt immer noch fürchterlich Canonical hat tla 1.2 geforkt und Bazaar, baz genannt Paralell dazu: revc = Arch 2.0 Marek Kubica Bazaar, das DVCS Baz als Rettung? Von heiÿen Kartoeln baz war in C Was passiert: Canonical ruft Bazaar-NG ins Leben, bzr, lässt baz fallen Bazaar-NG wird in Bazaar umgetauft baz ist tot, tla ist tot, larch ist tot, revc ist bedeutungslos Hurra, GNU Arch ist endlich tot, es lebe bzr! Marek Kubica Bazaar, das DVCS bzr, der Retter Was bietet Bazaar? in Python geschrieben, mit einigen Speedups in Pyrex (C) reguläre Releases (quasi jeden Monat) Einfache Bedienung Meist ausreichende Performance Umfangreiche Dokumentation: Programmmeldungen, Manpages, Wiki, IRC-Channel (wenn man Geduld hat) Flexible Einsatzmöglichkeiten (verschiedene Workows) 1 Git mit Bazaar simulieren 2 SVN in Bazaar nachbauen (für Nostalgiker) freier Hoster wo man Code hochladen kann (Launchpad) Marek Kubica Bazaar, das DVCS Zeitleiste 2005 war eine aufregende Zeit 26.
    [Show full text]
  • White Paper for Standards of Modelling Software Development
    EMMC-CSA European Materials Modelling Council White paper for standards of modelling software development TABLE OF CONTENT 1. EXECUTIVE SUMMARY ....................................................................................................... 2 1.1 Description of the deliverable content and objectives ...................................................................... 2 1.2 Major outcome ............................................................................................................................ 2 2. PROGRESS REPORT (MAIN ACTIVITIES) .................................................................................. 2 2.1 Introduction ................................................................................................................................. 2 2.2 Scope......................................................................................................................................... 3 2.3 Model description and software architecture .................................................................................. 5 2.4 Programming language and deployment ....................................................................................... 6 2.5 Intellectual Property and License Considerations ........................................................................... 7 2.6 Verification, testing, validation and robustness ............................................................................. 10 2.7 Organization of the software development ..................................................................................
    [Show full text]
  • David's Advanced Revision Control System
    Hazırlık Darcs Hakkında Pratik Okuma Odevi¨ David’s Advanced Revision Control System Can Burak C¸ilingir1 1Istanbul˙ Bilgi Universitesi¨ Bilgisayar Bilimleri B¨ol¨um¨u [email protected] 5 S¸ubat 2007 Can Burak C¸ilingir Darcs Hazırlık Darcs Hakkında Versiyon Y¨onetimi Pratik Ge¸cmi¸s Okuma Odevi¨ Ne zaman bitecek? 1 Hazırlık Versiyon Y¨onetimi Ge¸cmi¸s 2 Darcs Hakkında 3 Pratik 4 Okuma Odevi¨ Can Burak C¸ilingir Darcs Hazırlık Darcs Hakkında Versiyon Y¨onetimi Pratik Ge¸cmi¸s Okuma Odevi¨ neye yarar? Can Burak C¸ilingir Darcs Hazırlık Darcs Hakkında Versiyon Y¨onetimi Pratik Ge¸cmi¸s Okuma Odevi¨ Aegis, ArX, Arch, BitKeeper, CM Synergy, CVS, Code Co-Op, Codeville, IBM Rational ClearCase, Mercurial, Monotone, OpenCM Perforce, PureCM, RCS, Subversion, Superversion, Vesta, Visual SourceSafe, bazaar-ng, git, monotone, svk http://better-scm.berlios.de/comparison/ http://zooko.com/revision control quick ref.html Can Burak C¸ilingir Darcs Hazırlık Darcs Hakkında Versiyon Y¨onetimi Pratik Ge¸cmi¸s Okuma Odevi¨ Aegis, ArX, Arch, BitKeeper, CM Synergy, CVS, Code Co-Op, Codeville, IBM Rational ClearCase, Mercurial, Monotone, OpenCM Perforce, PureCM, RCS, Subversion, Superversion, Vesta, Visual SourceSafe, bazaar-ng, git, monotone, svk http://better-scm.berlios.de/comparison/ http://zooko.com/revision control quick ref.html Can Burak C¸ilingir Darcs Hazırlık Darcs Hakkında Versiyon Y¨onetimi Pratik Ge¸cmi¸s Okuma Odevi¨ rcs Revision Control System, tek ki¸si cvs Concurrent Versioning System, birden fazla ki¸si svn Subversion, daha d¨uzg¨un
    [Show full text]
  • Esa Study Contract Report
    ESA STUDY CONTRACT REPORT ESA Contract No: Subject: Contractor: ESA ITT Number Current and Future Tech- Distributed Systems Group, AO/3-12280/07/NL/CB nologies for Collaborative Vienna University of Tech- Working Environments nology ESA CR() No: No of volumes: 1 Contractor’s Reference: This Volume No: 1 TEUN Abstract: This document reports the final, detailed result of the study on current and future technologies for collaborative working environments (CWEs). The goal of this study is to analyze current CWEs and whether they and their future trends are suitable for large- scale multinational organizations. To this end, we have analyzed the structure of large-scale organizations in general, and of ESA in particular, with respect to organization, geographical distribution, and IT environments. Requirements for CWEs used in collaborative work are presented. Based on an initial list of criteria given by ESA, we have revised and extended the list to introduce a comprehensive set of criteria for evaluating CWEs. The state-of-the- art CWEs are discussed and classified. We have selected 15 representative CWE products and evaluated and compared them in detail. From the evaluation and comparison of CWE products, we have presented our findings of current issues and future trends of CWEs. In particular, existing products provide many features required by large-scale and multinational organizations but those features are not well-integrated into a single system. Due to the complexity of collaborative work within those organizations, often many CWEs are used in parallel and it is not easy to integrate those CWEs together. The work described in this report was done under ESA Contract.
    [Show full text]
  • Git - Globalny Tropiciel Informacji (Ang
    Procesory osadzone ETD 7211 W8 – 25.11.2019 Maciej Rudek Programowanie tradcyjne (?) System kontroli wersji (VCS) VCS (ang. version/revision control system) - jest to oprogramowanie, którego głównym celem jest śledzenie zmian w tworzonym oprogramowaniu – kodzie źródłowym. Ponadto, może łączyć, zmiany w plikach, dokonane przez wielu programistów na raz w różnym czasie. VCS można podzielić ze względu na: architekturę oprogramowania, sposób oceny zmian, licencję. Historia systemów VCS 1972 r. – SCCS - System kontroli kodu źródłowego ang. Source Code Control System 1980 r. – RCS - System nadzorowania wydań ang. Revision Control System 2000 r. – CVS - Współbieżny system wersji ang. Concurrent Version System: 2001 r. – SVN system kontroli wersji ang. System Subversion 2005 r. – Git - globalny tropiciel informacji (ang. Global Information Tracker), Mercurial Podział systemów VCS Ze względu na działanie, VCS można podzielić na: • lokalne - zapis danych odbywa się jedynie na lokalnym komputerze • scentralizowane - architektura klient- serwer • rozproszone - architektura osoba do osoby (P2P) RCS (Revision Control System) Lokalny komputer wykorzystywany jest do kontrolowania wersji oprogramowania. • RCS • GNU Source Code Control System CVCS (Centralized Version Control System) - Scentralizowane systemy kontroli wersji – zewnętrzny, centralny serwer, przechowuje wszystkie wersje plików. Zaletą jest zarządzanie uprawnieniami z jednego miejsca, Jednak jest podatny na awarie. • CVS • Subversion - SVN • GNU CSSC • JEDI VCS DVCS (Distributed Version Control
    [Show full text]
  • Bill Laboon Friendly Introduction Version Control: a Brief History
    Git and GitHub: A Bill Laboon Friendly Introduction Version Control: A Brief History ❖ In the old days, you could make a copy of your code at a certain point, and release it ❖ You could then continue working on your code, adding features, fixing bugs, etc. ❖ But this had several problems! VERSION 1 VERSION 2 Version Control: A Brief History ❖ Working with others was difficult - if you both modified the same file, it could be very difficult to fix! ❖ Reviewing changes from “Release n” to “Release n + 1” could be very time-consuming, if not impossible ❖ Modifying code locally meant that a crash could take out much of your work Version Control: A Brief History ❖ So now we have version control - a way to manage our source code in a regular way. ❖ We can tag releases without making a copy ❖ We can have numerous “save points” in case our modifications need to be unwound ❖ We can easily distribute our code across multiple machines ❖ We can easily merge work from different people to the same codebase Version Control ❖ There are many kinds of version control out there: ❖ BitKeeper, Perforce, Subversion, Visual SourceSafe, Mercurial, IBM ClearCase, AccuRev, AutoDesk Vault, Team Concert, Vesta, CVSNT, OpenCVS, Aegis, ArX, Darcs, Fossil, GNU Arch, BitKeeper, Code Co-Op, Plastic, StarTeam, MKS Integrity, Team Foundation Server, PVCS, DCVS, StarTeam, Veracity, Razor, Sun TeamWare, Code Co-Op, SVK, Fossil, Codeville, Bazaar…. ❖ But we will discuss git and its most popular repository hosting service, GitHub What is git? ❖ Developed by Linus Torvalds ❖ Strong support for distributed development ❖ Very fast ❖ Very efficient ❖ Very resistant against data corruption ❖ Makes branching and merging easy ❖ Can run over various protocols Git and GitHub ❖ git != GitHub ❖ git is the software itself - GitHub is just a place to store it, and some web-based tools to help with development.
    [Show full text]
  • Producing Open Source Software How to Run a Successful Free Software Project
    Producing Open Source Software How to Run a Successful Free Software Project Karl Fogel Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel Copyright © 2005-2013 Karl Fogel, under a CreativeCommons Attribution-ShareAlike (3.0) license [http:// creativecommons.org/licenses/by/3.0/]. Dedication This book is dedicated to two dear friends without whom it would not have been possible: Karen Underhill and Jim Blandy. i Table of Contents Preface ............................................................................................................................ vi Why Write This Book? .............................................................................................. vi Who Should Read This Book? ..................................................................................... vi Sources ................................................................................................................... vii Acknowledgments .................................................................................................... viii Disclaimer ................................................................................................................ ix 1. Introduction ................................................................................................................... 1 History ..................................................................................................................... 3 The Rise of Proprietary Software and Free Software ................................................
    [Show full text]
  • Git En Détail Réflexions Et Discussions
    Les VCS centralisés Les VCS décentralisés 1 Git en détail Réflexions et discussions Version Control Systems (VCS) Vincent DANJEAN Exemples avec Git (et subversion) Document dérivé de la présentation SVN faite à l’IUT de Villetaneuse et de l’introduction à Git de Bart Trojanowski 12 avril 2019 Vincent DANJEAN Git Les VCS centralisés Les VCS décentralisés 2 Git en détail Réflexions et discussions Plan 1 Les VCS centralisés Présentation Exemple d’utilisation Conflits 2 Les VCS décentralisés 3 Git en détail 4 Réflexions et discussions Vincent DANJEAN Git Les VCS centralisés Les VCS décentralisés 3 Git en détail Réflexions et discussions Travailler à plusieurs fichier : Essai.java class Essai { int taille; ... programmeur programmeur programmeur Vincent DANJEAN Git Les VCS centralisés Les VCS décentralisés 4 Git en détail Réflexions et discussions Garder un historique Savoir répondre aux questions Qui a modifié ce fichier ? Qui a écrit cette ligne ? Quelle était la version précédente de ce fichier ? Quels fichiers avait-on le 12 juin 2007 ? Vincent DANJEAN Git Les VCS centralisés Les VCS décentralisés 5 Git en détail Réflexions et discussions Des outils d’aide au développement Extensions indépendantes d’un même code version stable/de développement développement de fonctionnalités indépendantes Intégration de développements multiples création/diffusion/intégration de patch fusion de différentes branches de développement Vincent DANJEAN Git Les VCS centralisés Les VCS décentralisés 6 Git en détail Réflexions et discussions 1, 2, 3, . , plein de VCS VCS centralisés (un seul dépôt) CVS historique, encore beaucoup utilisé Subversion (SVN) remplaçant du précédent, mieux conçu multi-plateforme (Linux, MacOSX, Windows, . ) intégration avec les IDE (plugins pour Éclipse, .
    [Show full text]
  • Occupancy Engine Research Report and Proof of Concept
    Occupancy engine Research report and proof of concept Aleksandar Rusinov, Jetnipat Sarawongsuth, Dingzhong Weng 11/22/2014 Report for research and blueprint development of Qualcomm occupancy engine which main aim is to figure out people presence in a room Contents Qualcomm occupancy engine Background and Concept ........................................................................... 2 Project Requirement and scope ............................................................................................................... 3 Research Done ......................................................................................................................................... 4 Qualcomm occupancy engine - Relevant prototypes built ........................................................................ 7 Development of the user interface ........................................................................................................ 11 User Interface Heuristic Evaluation ........................................................................................................ 20 Heuristic Evaluation - Rating System ................................................................................................ 21 Heuristic Evaluation – Form ................................................................................................................... 22 Link to the version control repository .................................................................................................... 23 Initial test strategies .............................................................................................................................
    [Show full text]