Version Control Flashcards

1
Q

What is the purpose of VC?

A

To keep a logging system of program updates. This enables access to previous versions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the 6 main benefits of VC?

A
  • Reinstate previous versions
  • Concurrent development on a single project
  • Changes to current version don’t overwrite old versions.
  • Enables atomic commits.
  • Detailed log of what developments have been done and when.
  • Can see who has been working on the product and what they have done, this provides accountability.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which files are needed for version control?

A

Any file that enables the program to be loaded from scratch on a new system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Are class files needed for version control?

A

No, because class files will be recompiled.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define a centralised repository…

A

A repository in which all contributors update and commit directly to and from the main repository.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define a decentralised repository…

A

A global repo in which all contributors pull current state to a local repo, and then update their working copy from the local repo. They then commit to their local repo, and can push to the global repo if desired.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In which type of repo and between which repos do the push pull commands work?

A

Decentralised.
Between the main and local repos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define Trunk

A

The main code base from which contributors are working.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define Branch

A

Local projects that are derived from the trunk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define Forking

A

An independent copy of the repo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define Merge

A

Merging a branch back into the trunk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define Lock

A

Controls the number of contributors than can operate on a file at any given time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the 2 types of lock?

A

Strict - Enables one select person to work on the file.
Optimistic - Enables a select number of contributors to work on the file concurrently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When Optimistic Locking is enabled, what is the main consideration regarding fresh data?

A

The file being worked on must be up to date before committing. For example, if a working copy is updated from the local repo, and the contributor modifies the project and wants to commit, they must ensure that the current local repo copy is the same as when they updated their working copy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly