> From: cmpilato@localhost.localdomain
> [mailto:cmpilato@localhost.localdomain]On Behalf Of C. Michael Pilato
> Sent: Tuesday, October 28, 2003 10:16 PM
> Shlomi Fish <shlomif@vipe.technion.ac.il> writes:
>
> > Resolves Issue #1093 (svn diff does not follow moves or copies)
> >
> > * libsvn_repos/delta.c:
> > Added the get_node_id_with_history function that attempts to extract
> > information about the node from the two root FS's and its path.
> >
> > (svn_repos_dir_delta): converted to use get_node_id_with_history. After
> > its use, it uses the returned parameters (active_*) instead of the
> > original ones.
>
> [...]
>
> > cmpilato, do you believe this patch does not break anything?
>
> I'm sorry. Did I just read that you want to hit the history code
> inside svn_repos_dir_delta()? Let me rephrase: did I just read that
> inside a function whose job it is to compare two roots and paths, you
> want to simply choose entirely different roots and paths without
> informing the caller?
>
> Oh. My. God.
>
> It's obvious that I choose a bad day to be my Tuesday.
heh heh
Well, to put it a bit less dramatical: that seems like a bad idea.
> *Besides* the theoretical hell you're proposing to introduce (which,
> by the way, I have right plenty of already thank you very much), did
> you consider what happens if someone does 'svn diff -r 4:10 foo.c' and
> they *know* that the foo.c in revision 10 is an entirely different
> piece of history than the foo.c in revision 4? I see no UI changes to
> accommodate this situation, so there's practically no *way* the code
> does not break anything.
If they know foo.c@4 and foo.c@10 are different things, they should
use the full URL syntax IMO. If I ask -r 4:10 foo.c I want to know
what changed in the file currently known as foo.c in my working copy,
without caring what it was called at rev 10 or rev 4.
It seems that we are getting ourselves talking about the UI of svn diff
again. Anyone dare to do a suggestion?
> Look, the solution to issue #1093 is two fold:
>
> 1. Introduce UI for specifying the 3 piece of information
> necessary for describing a Subversion history set:
>
> - a revision X
> - the path P in that revision X (to pinpoint a given line of history)
> - a range {M:N} of that line of history on which to operate.
>
> 2. Ask the repository for path/revision pairs which describe
> (P,X)@M and (P,X)@N, and use those pairs for your operation.
This makes all the sense in the world ;).
Sander
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 29 12:17:43 2003