Beruflich Dokumente
Kultur Dokumente
Centralized
o subversion (svn), cvs
Distributed
o git, mercurial (hg)
Manual Versioning
diff command
o cp a a.orig
o <edit a>
o diff a.orig a > a.patch
Send email
o a.patch
patch command
o patch b a.patch
Centralized Versioning
Versioning server
Clients commit to server
Can not commit conflicting versions
Clients checkout only from server
Revert from local hidden folder
Distributed Versioning
No servers
Clients commit to local repository
o local versioning!
Create a bare
repository
o git init --bare
Repository status
o git status
Move files
o git mv file newfile
Remove files
o git rm newfile
Commit (all)
changes
o git commit file -m
"log comment"
o git commit -a -m "log
comment"
Tag code
o git tag v0.1
User configuration
o git config --global user.name "John Doe"
o git config --global user.email "johndoe@minix3.org"
Getting help
o git help
o git help commit
Why Build?
Scripting languages
o bash, perl, python, php, javascript
Object code
o java
Native binary
o C, C++
Contents of archive
o ar -t libmylib.a
Create executable
o g++ test.cpp libmylib.a
or
o g++ test.cpp -L. -lmylib
Building Minix
Take snapshot first!
cd /usr/src
make world
reboot
Alternatives
o http://wiki.minix3.org/en/DevelopersGuide/RebuildingSystem
Recovering
Boot with default kernel
o "Start Minix 3" , option 1 in boot menu
Todo
Compile your own Minix kernel
Optional Homework
Research and report on ssh private key
authentication method
Write a c/c++ program in Ubuntu as follows:
o Main function calls funciton 1 and function 2
o Functions 1 and 2 write hello and world!
respectively
o Write a Makefile that has compiling with dynamic
library and compiling with static library options
o Build the project in Minix. If you encounter problems,
research on and try to overcome them