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.edu
or, 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/hw1
and 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/hw1
Naturally, 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 B
instead of
mv A B
and use
svn remove A
instead of
rm A
And, 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 FILENAME
or
svn resolve --accept=working FILENAME
to tell Subversion that this file is no longer a problem (it won't
let you commit otherwise).