Distribution
Learn how Divekit distributes programming assignments to students.
Overview
Divekit can distribute your assignment to multiple repositories on GitLab, creating individualized versions for each student or group. This process includes:
- Creating code repositories for each student/group
- Optionally creating test repositories
- Assigning the correct permissions to students
- Individualizing the content based on your configuration
Distribution Guide
Simply use the distribute command to start the distribution process:
divekit distribute
The command will:
- Ask you to select a distribution if multiple are configured
- Check if all configured members exist on GitLab
- Show you a summary of what will be created
- Create the repositories after your confirmation
Example Flow
$ divekit distribute
? Found several distributions. Please choose one:
[ ] local
[x] supervisor
[ ] student
Checking members:
[β] 2 users available
[X] 3 users not found:
- ada
- charles
- jobs
Would create 2 repositories with name "ST2-2024-{uuid}" and assign 2 members.
? Continue? [Y/n]: y
Creating main repositories at #234567:
[ββββββββββββββββββββββββββββββββββββββββββββββββββ] 100% (2/2)
Creating test repositories at #345678:
[ββββββββββββββββββββββββββββββββββββββββββββββββββ] 100% (2/2)
Assigning members:
[βββββββββββββββββββββββββββ ] 50% (1/2)
What Happens During Distribution?
- Divekit creates a new repository for each student/group
- If configured, test repositories are created separately
- Repository contents are individualized based on your configuration
- Students are assigned with appropriate permissions
- Each repository gets a unique identifier
Next Steps
- Learn more about configuration options
- Understand how to individualize assignments
- Check the CLI commands reference for advanced options
Last modified January 17, 2025: refactor for cli rewrite (dfb706b)