On 03.04.2015 21:27, Evan Driscoll wrote: > I'd like to put a feature request out there for a --dry-run option to 'svn > up'. > > There are two things that this would accomplish over 'svn stat > --show-updates'. > > First, it seems like a natural thing to do; in particular, 'merge' > supports --dry-run and after using Git for a while my mental model of > update is it's just a special case of merge. IMO at least, two ways of > doing the same thing isn't necessarily a bad thing. > > But even more to the point, 'svn stat --show-updates' *doesn't work* > for many of the times when I want 'svn up --dry-run', because it > doesn't accept a -r argument. Here's a common scenario: > > 1. I have revision 1000 checked out and am editing foo.txt > 2. Other people make a few commits to other files > 3. I commit foo.txt as revision 1010 > [note that I now have a mixed-revision working copy where foo.txt is > on 1010 and everything else on 1000] > 4. Other people make more commits to files, e.g. up to 1020 > 5. I do something that makes svn complain about the fact that I'm on a > mixed-revision copy > > Now I have two reasonable options to clear that error: update to the > current head (1020) or update to the most recent version of anything I > have checked out (1010). A lot of the time I want to do the *second* > of those two options, because it's more likely to just give me small > updates and less likely to update a file that will prompt a > 45-minute-or-more rebuild. It's also less likely to result in merge > conflicts. (Yeah they might have to be dealt with eventually, but (i) > not necessarily and (ii) I might not want to deal with those later.) > > So what I would *like* to do is something like: > > 6. See what would be changed if I update to 1010 > 7a. If it looks like it'll be a big update, just update to HEAD > 7b. If it looks like a small update, update to 1010 > > But I don't know any way to do #6 in Subversion, and this is exactly > what 'svn up --dry-run' would provide. > > (If there *is* actually a way to do #6, I'm all ears.)
Would this tell you what you need (given a checkout of 'trunk'): svn diff --summarize ^/trunk@<revision> . This will give you a summary of the differences between your current working copy state and the tree in the repository at <revision>. -- Brane