现在我们已经覆盖了使用Subversion的日常任务,我们会检阅一些工作副本相关的管理任务。
Subversion doesn't track either the state or the existence of working copies on the server, so there's no server overhead to keeping working copies around. Likewise, there's no need to let the server know that you're going to delete a working copy.
如果你还是喜欢使用工作副本,直到你再次使用它之前,把其保留在磁盘没有任何错误,任何时候一个svn update命令可以让使用的文件成为最新。
However, if you're definitely not going to use a working copy again, you can
safely delete the entire thing, but you'd be well served to take a look
through the working copy for unversioned files. To find these files, run
svn status and review any files that are prefixed
with a ? to make certain that they're not of importance.
After you're done reviewing, you can safely delete your working copy.
When Subversion modifies your working copy (or any information within
.svn), it tries to do so as safely as possible. Before
changing the working copy, Subversion writes its intentions to a logfile.
Next, it executes the commands in the logfile to apply the requested change,
holding a lock on the relevant part of the working copy while it
works—to prevent other Subversion clients from accessing the working
copy mid-change. Finally, Subversion removes the logfile. Architecturally,
this is similar to a journaled filesystem. If a Subversion operation is
interrupted (e.g, if the process is killed or if the machine crashes), the
logfiles remain on disk. By reexecuting the logfiles, Subversion can
complete the previously started operation, and your working copy can get
itself back into a consistent state.
And this is exactly what svn cleanup does: it searches
your working copy and runs any leftover logs, removing working copy locks in
the process. If Subversion ever tells you that some part of your working
copy is “locked,” this is the command that you should run.
Also, svn status will display an L
next to locked items:
$ svn status L somedir M somedir/foo.c $ svn cleanup $ svn status M somedir/foo.c
Don't confuse these working copy locks with the ordinary locks that Subversion users create when using the lock-modify-unlock model of concurrent version control; see the sidebar “锁定”的三种含义 for clarification.