# Module Quiz: Software collaboration

1. **What is Revision History in Version Control?**
    
    * <mark>A record of all changes in a project</mark>
        
    * A record of all users in a project
        
    * A record of all bugs in a project
        
2. **When using a Distributed Version Control System, a connection to a central server is always required to perform an action.**
    
    * True
        
    * <mark>False</mark>
        
3. **A Version Control system allows you to roll back your files back to a specific point in time.**
    
    * <mark>true</mark>
        
    * false
        
4. **When using a Centralised Version Control system, for other developers to see your changes, you must commit and push them to a central server.**
    
    * <mark>True</mark>
        
    * False
        
5. **Version Control is inefficient when multiple developers work on one project.**
    
    * True
        
    * <mark>False</mark>
        
6. **\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ automatically packages an application and prepares it for deployment.**
    
    * Continuous Integration
        
    * <mark>Continuous Deployment</mark>
        
    * Continuous Delivery
        
7. **Which of the following are distributed Version Control Systems? Select all that apply.**
    
    * <mark>Mercurial</mark>
        
    * Subversion
        
    * Concurrent Versions System
        
    * <mark>Git</mark>
        
8. **What are the main benefits of having a staging environment? Select all that apply.**
    
    * It allows developers to add new features directly to production.
        
    * <mark>It can allow teams to demo or showcase new features in a controlled environment.</mark>
        
    * <mark>It provides a safe place to test and verify changes prior to being deployed to a live production environment.</mark>
        
    * <mark>A staging environment mimics the production environment which allows for more accurate testing to find any possible issues.</mark>
