<commit_before><!-- .slide: data-background="img/background.svg" -->
# Concepts

- Processes and tools for managing versions/revisions
- CM->SCM
- VCS->DVCS

---

### [Configuration Management (CM)](http://en.wikipedia.org/wiki/Configuration_management)

- Practice of handling changes systematically so that a system maintains its integrity over time.
 - Policies, procedures, techniques, and tools
 - Manage, evaluate proposed changes, track the status of changes
 - Maintain Inventory of system and support documents as the system changes
- [Information Technology Infrastructure Library (ITIL)](http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library)

---

### [Software CM (SCM)](http://en.wikipedia.org/wiki/Software_configuration_management)

- CM applied to software
- Track and controll changes in the software
- Revision Control and the establishment of baselines

---

### Centralized VCS

- Everyone stores history on a central repository
- Only the central repo gets a full copy of the history

- [Version Control System (VCS)](http://en.wikipedia.org/wiki/Version_Control_System)
 - Tracks and provides control over changes to source code
 - Versions/Revisions: Baseline, Branch, Tag, etc
 - Single authoritative data store
 - (Client/Server)

---

### Centralized VCS
<!-- .slide: data-background="img/centralized-vcs.svg" -->

---

### Distributed Version Control

- Team members send changes to each other
- Everyone can work offline

- [Distributed VCS (DVCS)](http://en.wikipedia.org/wiki/Distributed_version_control_system)
 - Each working copy functions as fully functional backup
 - Peer-To-Peer

---

### Distributed Version Control
<!-- .slide: data-background="img/dvcs.svg" --><commit_msg>make dvcs/centralized imgs (vs backgrounds)<commit_after><!-- .slide: data-background="img/background.svg" -->
# Concepts

- Processes and tools for managing versions/revisions
- CM->SCM
- VCS->DVCS

---

### [Configuration Management (CM)](http://en.wikipedia.org/wiki/Configuration_management)

- Practice of handling changes systematically so that a system maintains its integrity over time.
 - Policies, procedures, techniques, and tools
 - Manage, evaluate proposed changes, track the status of changes
 - Maintain Inventory of system and support documents as the system changes
- [Information Technology Infrastructure Library (ITIL)](http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library)

---

### [Software CM (SCM)](http://en.wikipedia.org/wiki/Software_configuration_management)

- CM applied to software
- Track and controll changes in the software
- Revision Control and the establishment of baselines

---

### Centralized VCS

- Everyone stores history on a central repository
- Only the central repo gets a full copy of the history

- [Version Control System (VCS)](http://en.wikipedia.org/wiki/Version_Control_System)
 - Tracks and provides control over changes to source code
 - Versions/Revisions: Baseline, Branch, Tag, etc
 - Single authoritative data store
 - (Client/Server)

---

### Centralized VCS
<img src="img/centralized-vcs.svg" />

---

### Distributed Version Control

- Team members send changes to each other
- Everyone can work offline

- [Distributed VCS (DVCS)](http://en.wikipedia.org/wiki/Distributed_version_control_system)
 - Each working copy functions as fully functional backup
 - Peer-To-Peer

---

### Distributed Version Control

<img src="img/dvcs.svg" />
{'fraction_non_alphanumeric': 0.10956923966464296, 'fraction_numerical': 0.0, 'mean_word_length': 4.282442748091603, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '188428', 'n_tokens_mistral': 961, 'n_tokens_neox': 909, 'n_words': 320}