Week 13 Flashcards

1
Q

What does a version control system do?

A

Tracks changes to source code

Helps integrate your changes with changes from someone else

Lets you manage parallel streams of development on the code

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

What are the two types of version control system approaches?

A

Centralized vs distributed control

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

What are the differences between centralized and distributed version control systems?

A

Both have the concept of a master repository

Centralized control runs all the major commands and log information through the master repository.

Distributed places a more extensive copy of the history in the local working copy.

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

Which of the two types of version control systems are better for online and offlie operations

A

Centralized is better if you have access to online

Distributed makes working offline easier, but merging revisions can require more complex algorithms

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

Which of the two types of version control systems are more convenient for users?

A

The distributed is more easy for users, but te centralized is easier to manage and build.

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

Describe the lock-modify-unlock system

A

You can exclude other uses from accessing a file by locking it. It also serializes all changes to the files. There are no conflicts because only one person can access at a time.

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

Describe the copy-modify-merge mode of operation?

A

You can get your own editable copy of the file and change as you like.

Merge your changes with everyone elses when you’re ready

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

What is a trunk?

A

The one main stream of development

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

What is a branch?

A

Side-development projects

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

What is a tag?

A

STable checkpoints that you might want to call back

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

What is a merge?

A

Sometimes the branch recombines with the trunk.

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

What belongs in a version control system?

A

Anything that is an original document.

source code
Documentation
supporting images

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

What doesn’t belong in a version control system?

A

Anything that is derived.
Object files
pdf files
executable files

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

What does svn stand for?

A

Subversion

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

What behaviour mode does subversion have?

A

copy-modify-merge

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

What are the two types of branch merging?

A

Bring updates from the trunk into a branch

Migrate a branch to the trunk and close the branch

17
Q

What are the steps to bring updates from the trunk into a branch?

A
  • Called a sync merge
  • Commit all the branch changes to the branch repository
  • Use the ‘svn merge’ command to bring over the content from the trunk
  • Commit the update to the branch
18
Q

What are the steps to migrate a branch to the trunk close the branch?

A
  • Called a reintegrate merge
  • commit all the branch changes to the branch repository
  • get a copy of the trunk
  • Use the svn merge –reintegrate command to move all the branch content to the trunk and close off the branch
  • resolve any conflicts to commit the merge to the trunk
19
Q

What do changelists do?

A

Let you make lists of files that are being modified for a common reason

20
Q

What the purpose of a changelist

A

Lets you ask for status and commit on just those files

21
Q

How do we create a changelist?

A

svn changelist listname file1 file2

22
Q

What are the commands for file locking?

A

svn lock
svn unlock
can steal a lock from someone else with the –force flag

23
Q

How do we get more information on a svn file?

A

svn info

24
Q

Ignoring files?

A

svn propset svn:ignore pattern_to_ignore target_repository

25
Q

What do shells like bash allow you to do?

A

Write programs in them too

26
Q

What is a shell program called?

A

A script

27
Q

When are scripts typically used?

A

Created to automate some process that involves invoking a sequence of programs

28
Q

A script is as simple as what?

A

A text file with commands to execute. Usually one command per line.

29
Q

what are the three ways we execute a script?

A

1) Read in the text to your current shell
2) Invoke the shell (a new instance) and pass the script as a parameter)
3) Make the script act like a program of its own

30
Q

How are command line arguments accessed?

A

With the variable names $1, $2

31
Q

What are the semantic elements for any language?

A

Variables
expressions
conditionals/selection
Loops

32
Q

What is a subshell?

A

Within a script, you can execute another program or script in its own shell using the back quotes