David Glasser wrote:
> On 7/13/07, James Coleman <jamesc@dspsrv.com> wrote:
>> 2. Two other tiny errors in faq (internal links):
>> entry in FAQ TOC for #broken-subclipse was missing (nxt to new svn
>> switch entry).
>> and found a href to #moderated that should be #moderation
>> I'm VERY sorry for including them in this patch but they really
>> are tiny! :-7
>
> Can you send these separately (and with a log message)? As you said,
> they're tiny, so we'd rather just apply them immediately instead of
> having to wait on making sure that the explanation of the complicated
> problem is ready to commit.
>
> --dave
>
>
Way to go me. :(
No patch and then disappear :(
Thank you all for bearing with me and being very kind! :)
Thank you very much Karl! Sorry you had to extract it.
I see the patch is applied with corrections. Very happy it looks nice :)
Original patch attached here for reference.
James
Index: www/faq.html
===================================================================
--- www/faq.html (revision 25731)
+++ www/faq.html (working copy)
@@ -142,6 +142,7 @@
<h4>Troubleshooting:</h4>
<ul>
+
<li><a href="#stuck-bdb-repos">My repository seems to get stuck all the
time, giving me errors about needing recovery (DB_RUNRECOVERY).
What could be the cause?</a></li>
@@ -239,6 +240,10 @@
operations involving a lot of data over SSL, I get the error
<tt>SSL negotiation failed: SSL error: decryption failed or bad
record mac</tt>.</a></li>
+<li><a href="#broken-subclipse">I get an error that says "This client is too
+ old".</li>
+<li><a href="#svn-switch-problem">Why doesn't svn switch work in some cases?
+ </li>
</ul>
<h4>Developer questions:</h4>
@@ -602,7 +607,7 @@
Subversion Users mailing list</a> (<a
href="mailto:users@subversion.tigris.org"
>users@subversion.tigris.org</a>)
- — note that the list is moderated, so
+ — note that the list is moderated, so
there may be a delay before your post shows up</li>
<li><a href="http://svn.haxx.se/users/">The Subversion Users list
archives</a></li>
@@ -3381,11 +3386,8 @@
an older version (or possibly upgrading to a newer version) is known
to fix this issue.</p>
-
</div>
-</div>
-
<div class="h3" id="broken-subclipse" title="broken-subclipse">
<h3>I get an error that says "This client is too old".</h3>
@@ -3409,6 +3411,147 @@
</div>
+
+<div class="h3" id="svn-switch-problem" title="svn-switch-problem">
+<h3>Why doesn't svn switch work in some cases?</h3>
+
+<p>In some cases where there are unversioned (and maybe ignored) items in the
+working copy then you can get an error. The switch stops leaving the working
+copy half switched.</p>
+
+<p>If you take to wrong corrective action you can end up with
+an unusable working copy.
+Sometimes with these situations user is directed to do svn cleanup.
+But the svn cleanup may also encounter an error.
+See <a href=http://subversion.tigris.org/issues/show_bug.cgi?id=2505>issue 2505</a>.
+</p>
+
+<p>The user can manually remove the dirs or files causing problem and then
+cleanup and continue the switch to recover from this situation.</p>
+
+<p>A switch from a <i>pristine</i> clean checkout always works without error.
+There are three ways of working if you are using svn switch as part of your
+development process:
+
+<ol>
+
+<li>Fully clean your working copy of unversioned (including ignored) files before
+switch. <br><b>WARNING! This deletes all unversioned dirs/files.
+Be VERY sure that you do not need anything that will be removed.</b>
+
+<blockquote>
+<div><code><pre>
+# Check and delete svn unversioned files:
+svn status --no-ignore | grep "^[I?]" | sed 's/^[I?]//'
+svn status --no-ignore | grep "^[I?]" | sed 's/^[I?]//' |xargs rm -rf
+</pre></code></div>
+</blockquote>
+
+</li>
+
+<li>Keep a <i>pristine</i> clean checkout. Update that then copy it and switch in
+the copy when a switch to another branch is desired.</li>
+
+<li>Live dangerously :).
+ Switch between branches without cleaning up BUT if you encounter a switch error
+ know that you have to recover from this properly.
+ Delete the unversioned files and the directory that the error was reported on.
+ Then "svn cleanup" if needed and then resume the switch.
+ Unless you do delete all unversioned files you may have to repeat this
+ process multiple times.</li>
+
+</ol>
+
+</p>
+
+<p>Some examples are detailed here in
+<a href=http://subversion.tigris.org/issues/show_bug.cgi?id=2505>issue 2505</a>.
+The problem is that the svn client plays it
+safe and doesn't want to delete anything unversioned.
+</p>
+
+<p>Two specific examples are detailed here to illustrate a problem like this.
+There are also other svn switch errors nt covered here which the policy of
+switching only from a <i>pristine</i> clean checkout solves.
+
+<ol>
+
+<li>If any directory has been moved or renamed between the branches then
+anything unversioned will cause a problem.
+In this case this error will be seen:
+<br>
+<blockquote>
+<div><code><pre>
+wc/$ svn switch $SVNROOT/$project/branches/$ticket-xxx
+svn: Won't delete locally modified directory '<dir>'
+svn: Left locally modified or unversioned files
+</pre></code></div>
+</blockquote>
+<p>Removing all unversioned files and continuing the switch will recover from this.</p>
+</li>
+
+<li>If a temporary build file has ever been added and removed then a switch
+in a repository with that unversioned file (likely after a build) fails.
+Same error will be seen:
+<br>
+<blockquote>
+<div><code><pre>
+wc/$ svn switch $SVNROOT/$project/branches/$ticket-xxx
+svn: Won't delete locally modified directory '<dir>'
+svn: Left locally modified or unversioned files
+</pre></code></div>
+</blockquote>
+<p>In this case just removing the unversioned items will not recover.
+A cleanup fails but svnswitch directs user to do svn cleanup.
+<br>
+<blockquote>
+<div><code><pre>
+wc/$ svn switch $SVNROOT/$project/branches/$ticket-xxx
+svn: Directory '<dir>/.svn' containing working copy admin area is missing
+wc/$ svn cleanup
+svn: '<dir>' is not a working copy directory
+wc/$ svn switch $SVNROOT/$project/branches/$ticket-xxx
+svn: Working copy '.' locked
+svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
+</pre></code></div>
+</blockquote>
+</p>
+<p>Removing the directory (and all other unversioned files to prevent
+ switch breaking on a similar error repeatedly) and continuing the switch
+ will recover from this.</p>
+</li>
+
+</ol>
+
+<p>The TortoiseSVN cleanup error is a bit different, you might encounter this:
+<blockquote>
+<div><code><pre>
+Subversion reported an error while doing a cleanup!
+<dir>/<anotherdir> is not a working copy directory
+</pre></code></div>
+</blockquote>
+</p>
+
+<p>In each case here the svn switch breaks leaving user with a half-switched
+working copy. Items are marked in status with S for switched items (dirrerent
+ from top directory), ! for dirs with problem and ~ for the files that are
+ the problem (and with maybe L for locked). Like this:
+<blockquote>
+<div><code><pre>
+wc/$ svn status
+! .
+! <dir>
+ S <switched_things>
+~ <dir>/<thing_that_is_now_unversioned>
+</pre></code></div>
+</blockquote>
+</p>
+
+</div>
+
+</div>
+
+
<div class="h2" id="developer-questions" title="developer-questions">
<h2>Developer questions:</h2>
<p/>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 16 12:06:57 2007