---
title: "Version Control"
description: "Track changes and maintain history of your work"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.testandaccept.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Version Control

Version control automatically saves snapshots of your statements of work as they evolve, creating a complete history of changes. You can compare versions, revert to previous states, and see exactly what changed over time.

## What is Version Control?

Version control helps you:

- **Track Evolution**: See how work has changed over time
- **Maintain History**: Keep complete record of all modifications
- **Compare Versions**: See differences between any two versions
- **Revert Changes**: Go back to previous versions if needed
- **Document Progress**: Show clients how requirements evolved
- **Support Approvals**: Track what was approved when
- **Enable Auditing**: Demonstrate compliance and accountability

## How Versioning Works

### Automatic Snapshots

**Every time you make significant changes to a Statement of Work**:
- A new version is automatically created
- Version number increments (v1, v2, v3, etc.)
- Complete snapshot is saved
- All items, criteria, and tests included
- Original versions are preserved forever

**What gets versioned**:
- SOW title and description
- All work items and their hierarchy
- Acceptance criteria for each item
- Test definitions
- Status and completion data
- Metadata and timestamps

**What's preserved**:
- Who created the version
- When it was created
- What changed from previous version
- Why changes were made (version notes)

### Version Numbers

Versions are numbered sequentially:

```
v1 → Initial version
v2 → First revision
v3 → Second revision
v4 → Third revision
...and so on
```

**Characteristics**:
- Automatic numbering (no gaps)
- Cannot be changed or deleted
- Permanently stored
- Easy to reference ("See v3 for details")

## Creating Versions

### Manual Version Creation

**When to create a version manually**:
- Before major changes
- Before sending for approval
- After client feedback
- At project milestones
- When switching phases
- Before archiving

**How to create**:

1. **Open your SOW**
2. **Click "Create Version"** or "Save Version"
3. **Add version notes**:
   ```
   Version 3 - Added mobile responsiveness requirements
   based on client feedback from 12/15 meeting.
   ```

4. **Click "Save"**

**The new version**:
- Gets next sequential number
- Saves current state
- Becomes the new "current" version
- Previous version preserved

### Automatic Version Creation

**Versions are auto-created when**:
- Submitting for approval
- Approver requests changes
- Distributing via email
- Major restructuring detected
- Periodic auto-save (configurable)

**Benefits**:
- Never lose work
- Always have backup
- Track changes automatically
- No manual intervention needed

## Viewing Version History

### Access Version History

1. **Open your SOW**
2. **Click "Version History"** or "Versions" tab
3. **See all versions** listed:
   - Version number
   - Creation date
   - Created by (user name)
   - Version notes
   - Number of changes

### Version List View

**Each version shows**:

```
v5 - Current Version
Created: Dec 15, 2024 at 3:45 PM
By: Jane Smith
Notes: Finalized mobile requirements
Changes: 5 items modified, 3 criteria added

v4
Created: Dec 14, 2024 at 2:20 PM
By: Jane Smith
Notes: Added responsive design section
Changes: 2 items added, 1 modified

v3
Created: Dec 12, 2024 at 10:15 AM
By: John Doe
Notes: Client feedback incorporated
Changes: 4 items modified, 2 criteria changed
```

**Actions available**:
- View version
- Compare with another version
- Download as PDF
- Restore this version
- Add retrospective notes

### Viewing a Specific Version

**To see a past version**:

1. **Open Version History**
2. **Click on the version** you want to see
3. **View read-only snapshot**:
   - All items as they were
   - All criteria as they were
   - All tests as they were
   - Status at that time

**You can**:
- Browse the content
- Export to PDF
- Share link to this version
- Compare to other versions

**You cannot**:
- Edit past versions
- Delete past versions
- Change version numbers

## Comparing Versions

### Side-by-Side Comparison

**See exactly what changed**:

1. **Open Version History**
2. **Click "Compare Versions"**
3. **Select two versions**:
   - From version (older)
   - To version (newer)

4. **View differences**:

**Added items** (highlighted in green):
```
+ New requirement: Mobile-first responsive design
+ New task: Implement touch-friendly navigation
```

**Modified items** (highlighted in yellow):
```
~ Requirement title changed:
  From: "Navigation menu"
  To: "Responsive navigation menu with mobile support"

~ Description updated:
  Added: "Must work on devices from 320px to 4K displays"
```

**Removed items** (highlighted in red):
```
- Old requirement: Desktop-only navigation
- Old task: IE11 support
```

**Changed criteria** (highlighted):
```
~ Criterion modified:
  From: "Menu works in modern browsers"
  To: "Menu works in Chrome, Firefox, Safari, Edge (last 2 versions)"
```

### Diff View Options

**Different views available**:

**Unified diff**: Changes shown inline
```
Version 3 → Version 4

Items (5 changes):
  + Added: "Mobile responsiveness"
  ~ Modified: "Navigation menu" → "Responsive navigation"
  - Removed: "IE11 support requirement"

Criteria (3 changes):
  + Added: "Touch-friendly interactions"
  + Added: "Responsive breakpoints at 768px and 1024px"
```

**Side-by-side**: Two columns showing before/after
```
Version 3             |  Version 4
--------------------- | ---------------------
Navigation menu       |  Responsive navigation
Desktop-focused       |  Mobile-first design
                      |  + Touch support
```

**Summary only**: Just counts and categories
```
Version 3 → Version 4 (12 changes)
- 3 items added
- 2 items modified
- 1 item removed
- 4 criteria added
- 2 criteria modified
- 0 tests removed
```

## Restoring Previous Versions

### When to Restore

**Restore a previous version when**:
- Recent changes need to be undone
- Client wants to revert to earlier state
- Mistake was made in current version
- Earlier version was better
- Testing new approach (can revert if needed)

### How to Restore

> **Caution**
>
> Restoring creates a new version with old content. It doesn't delete the current version.

1. **Open Version History**
2. **Find the version** you want to restore
3. **Click "Restore This Version"**
4. **Confirm restoration**:
   - Current content will be replaced
   - New version will be created
   - Old versions remain in history

5. **Add restoration notes**:
   ```
   Restored to v3 - reverting mobile changes
   per client request after review meeting.
   ```

6. **Click "Restore"**

**What happens**:
- New version created (e.g., v7)
- Content copied from selected version (e.g., v3)
- Version v6 still exists in history
- You can compare v6 and v7 to see what was undone

### Restoration vs. Rollback

**Restoration** (what happens):
- Creates new version
- Preserves all history
- Old versions still accessible
- Auditable and traceable

**Rollback** (what doesn't happen):
- Doesn't delete versions
- Doesn't lose work
- Doesn't break history
- Doesn't cause data loss

## Version Annotations

### Adding Notes to Versions

**When creating a version**, add meaningful notes:

**Good version notes**:
```
✓ "Added section 3 requirements based on 12/15 client meeting"
✓ "Removed deprecated API requirements per architecture decision"
✓ "Incorporated feedback from security review - see comments"
✓ "Final version for Phase 1 approval"
```

**Poor version notes**:
```
✗ "Updates"
✗ "Changes"
✗ "Fixed stuff"
✗ (no notes)
```

### Retrospective Notes

**Add notes to past versions**:

1. **View the version**
2. **Click "Add Retrospective Note"**
3. **Add context**:
   ```
   This version was approved on 12/20/2024.
   Implemented in Sprint 5.
   Replaced by v8 after scope change in January.
   ```

4. **Save note**

**Use cases**:
- Document when version was approved
- Link to decisions or discussions
- Note why version was superseded
- Provide historical context

## Versioning Best Practices

### When to Create Versions

**Always create a version**:
- Before major changes
- Before sending for approval
- After significant client feedback
- At milestone completions
- Before archiving
- When switching project phases

**Consider creating a version**:
- Daily if actively changing
- After each significant edit session
- Before and after meetings
- When experimenting with changes

**Don't create versions**:
- For every tiny change
- Multiple times per minute
- When no meaningful changes made
- Just to increment the number

### Organizing Versions

**Use clear naming conventions in notes**:
```
Phase-based:
- "Phase 1 Initial Draft"
- "Phase 1 Final"
- "Phase 2 Initial Draft"

Milestone-based:
- "Milestone 1 Complete"
- "Milestone 2 - Architecture Decisions"
- "Final Delivery - All Milestones"

Review-based:
- "Draft for Internal Review"
- "Post-Review Revisions"
- "Client Approval Draft v1"
- "Final Approved Version"
```

### Communicating About Versions

**Reference versions clearly**:
```
✓ "Please review SOW v5 for the mobile requirements"
✓ "Client approved v3 on December 15th"
✓ "Compare v4 and v5 to see security additions"
```

**In emails**:
```
Subject: Website Redesign SOW - v4 Ready for Review

Hi John,

I've created version 4 of the SOW with the mobile
requirements we discussed. You can compare it to v3
to see exactly what changed.

Link: [SOW v4]
```

## Version Workflows

### Approval Workflow

**Version progression through approval**:

```
v1 - Internal Draft
↓
v2 - Ready for Client Review
↓ (shared with client)
v3 - Incorporating Client Feedback
↓
v4 - Final Approval Version
↓ (client approves)
v5+ - Implementation Updates
```

**At each stage**:
1. Create version before sharing
2. Get feedback or approval
3. Incorporate changes
4. Create new version
5. Repeat until approved

### Iterative Development

**Using versions during development**:

```
Sprint 1:
v1 - Sprint 1 Planning
v2 - Mid-sprint adjustments
v3 - Sprint 1 Complete

Sprint 2:
v4 - Sprint 2 Planning (includes Sprint 1 learnings)
v5 - Mid-sprint changes
v6 - Sprint 2 Complete

Final:
v7 - All sprints integrated
v8 - Final polishing
v9 - Delivered version
```

### Experimentation

**Try new approaches safely**:

1. **Current version: v5**
2. **Create "experimental" changes**
3. **Save as v6** with note: "Testing alternative approach"
4. **Review with team**
5. **Decision**:
   - If good: Keep v6, continue from there
   - If bad: Restore to v5, which creates v7

No work is ever lost!

## Version Analytics

### Tracking Version Activity

**Metrics you can see**:
- Total versions created
- Average time between versions
- Most active periods
- Who creates most versions
- Version approval rates

**Use this data to**:
- Understand project velocity
- Identify when scope changes happen
- See patterns in requirements evolution
- Improve estimation for future projects

## Exporting Versions

### Download Specific Version

**Export any version**:

1. **Open the version**
2. **Click "Export" or "Download"**
3. **Choose format**:
   - PDF (for sharing)
   - JSON (for backup)
   - Markdown (for documentation)

4. **Downloaded file includes**:
   - Version number in filename
   - All content from that version
   - Creation date and author
   - Version notes

**Filename example**:
```
Website_Redesign_SOW_v4_2024-12-15.pdf
```

### Bulk Export

**Export all versions**:
- Download complete version history
- Archive for compliance
- Backup before major changes
- Transfer to other systems

## Troubleshooting

### Missing Version

**Versions cannot be deleted**, so if you can't find one:
- Check your filters
- Verify you're viewing correct SOW
- Ensure you have access to view versions
- Contact support if truly missing

### Can't Create Version

**Possible reasons**:
- No changes made since last version
- Don't have edit permissions
- SOW is locked
- System error

**Solutions**:
- Make a change before versioning
- Request higher access level
- Check if SOW is in approval state
- Try again or contact support

### Version Comparison Not Showing Changes

**If diff looks empty**:
- Versions might be identical
- Comparing same version to itself
- Display settings hiding changes
- Try different comparison view

### Can't Restore Version

**Possible reasons**:
- Don't have edit permissions
- SOW is locked for approval
- Version is corrupted (rare)

**Solutions**:
- Request owner access
- Wait for approval process to complete
- Contact support for corrupted versions

## Related Features

- **Change Management**
- **Email Distribution**
- **Statements of Work**
- **Access Control**

Source: https://docs.testandaccept.com/features/versioning/index.mdx
