subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Evan Driscoll <eva...@gmail.com>
Subject Feature request: 'svn up --dry-run'
Date Fri, 03 Apr 2015 19:27:48 GMT
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.)

Evan

Mime
View raw message