I do some software development from time to time during my job at the university and I use Subversion (SVN) to manage my source code.
When a bachelor or master student works on a software I wrote to implement some features, I give them SVN access and a new branch in the SVN repository, usually named branches/student/. Once in a while I have a look at their code and pull some of their changes into trunk/ and integrate them.
NOTE: Sometimes you want to merge the whole branch into trunk at the end of their work (once they are finished). This article does NOT handle that. It rather explains how to get a list of the changes of a certain user and pull only one commit into trunk.
Here is what you usually need to do for this:
1) Find all commits by the user student123
cd ~/develop/project_repo/ # this dir contains trunk/, tags/ and branches/
svn log | sed -n '/student123/,/-----$/ p'
2) Merge the changes from her branch feature_xyz into trunk/:
Let us assume we want to get revision 603 into trunk.
svn merge -c603 --username mysvnuser svn+ssh://email@example.com/project_repo/branches/feature_xyz
Now check the changes, fix conflicts, test the code. When ready:
svn commit -m "integrated r603 by student123 into trunk"