We'll add to this guide as issues arise in the newsgroup or elsewhere. Feel free to offer your own suggestions for topics.
ssh update
. The name officially listed for your account is
under the "Change your Cecos" entry.
svn
will go to that server, and if that server is down, the
operation will fail. You can tell svn
to use a different
server with a command like the following (here, we'll change from the
old server quasar to the new server pulsar):
cd ~/mywork svn switch --relocate svn+ssh://cs61b-ta@torus.cs.berkeley.edu \ svn+ssh://cs61b-ta@pulsar.cs.berkeley.eduor, using Unix shell expansions:
cd ~/mywork svn switch --relocate svn+ssh://cs61b-ta@{torus,pulsar}.cs.berkeley.edu(the trailing backslash in the first variation is the shell line continuation character).
The problem with this is that our definitions of $MYREPOS, $TEAMREPOS, and $STAFFREPOS all refer to torus, and you'll run into problems if you copy stuff from a repository on one host into a working directory attached to a different one. So use svn switch temporarily, and switch back to torus as soon as it is working (we'd prefer that everyone use the same host, due to some possible file-system locking issues.)
cd ~/mywork/hw1 svn commit -m "Fill in Progs.java"are giving you grief, for example, type the command
svn info ~/mywork/hw1and look to see if the URL line says something like
URL: svn+ssh://cs61b-ta@torus.cs.berkeley.edu/staff/hw1This tell us that Subversion thinks that the working directory ~/mywork/hw1 is associated with staff/hw1 in the Subversion repository. What this tells me is that you got this directory originally with
cd ~/mywork svn checkout $STAFFREPOS/hw1Naturally, we can't allow you to modify the public files, so we've set up Subversion to deny access when you attempt to write to these files.
Instead, to copy files from our staff directory to your trunk, use
cd ~/mywork svn copy $STAFFREPOS/hw1 hw1 svn commit -m "Initial version of hw1"If you do an 'svn info hw1' at this point, you'll see that the URL is something like URL: svn+ssh://cs61b-ta@torus.cs.berkeley.edu/cs61b-yu/hw1 That is, it's a whole new repository directory under your control.
svn commit
and eventually got the message
svn: Can't copy /home/cc/.../hw1/prob1.java' to /home/cc/.../svn/hw1/.svn/.../BankAccountTest.java....': No such file or directoryand
svn status
shows
... A hw1 ! hw1/prob1.java ...That '!' means "you used to have this file under version control and now it has vanished mysteriously." Perhaps you mv'ed it or rm'd it (using the plain Unix commands of those names). Either one will do it: the files in your working directory get out of sync with what svn assumes is supposed to be there. When dealing with files A and B under version control, use
svn move A Binstead of
mv A Band use
svn remove Ainstead of
rm AAnd, of course, you'll need to commit those changes at some point.
cd ~/mywork/proj2 svn merge $STAFFREPOS/tags/proj2-N \ $STAFFREPOS/proj2[Or, a better use of Unix for the second command:
svn merge $STAFFREPOS/{tags/proj2-N,proj2}]
svn resolved FILENAMEor
svn resolve --accept=working FILENAMEto tell Subversion that this file is no longer a problem (it won't let you commit otherwise).