You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Lübbe Onken <l....@rac.de> on 2004/05/25 07:30:57 UTC

English terminology / explanation needed

Hi folks,

while working on the german translation, I stumbled upon several english 
sentences that I find hard to translate. Maybe some kind soul could 
enlighten me, what these are meant to say. Maybe the same kind soul 
could even rephrase the original. :-)

Here we go:
libsvn_client/ra.c:443
"Missing changed-path information for '%s' in revision %ld"
what is a changed-path information and why is it missing?

libsvn_client/ra.c:704
"'%s' in revision %ld is an unrelated object"
unrelated to what?

clients/commandline/notify.c:300
"Status against revision: %6ld\n"
Does this mean "Status in revision" ? "Against" translates funny and 
doesn't make sense.

include/svn_error_codes.h:683
"Svndiff data contains backward-sliding source view"
What the Dickens is a "backward-sliding source view" ?

include/svn_error_codes.h:829
"Python exception has been set with the error"
what has really happened? Has a python exeption occured? Where's the 
rest of the sentence? What kind of error?

libsvn_ra_dav/fetch.c:2314
"REPORT response handling failed to complete the editor drive"
Err what?

Thanks for your help
-Lübbbe


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: English terminology / explanation needed

Posted by Greg Hudson <gh...@MIT.EDU>.
On Wed, 2004-05-26 at 13:36, Branko Čibej wrote:
> >You're only considering deltas in the FS here.
> >You're only considering deltas in the FS here.

Whoops, bad editing.  Didn't mean to repeat myself.

> Anyway, I think quite a few of these error messages -- and this one 
> specifically -- may be too mired in the technicalities of the 
> implementation. Would it make sense to review them, make them more 
> user-friendly, whilst still being clear/unique enough for developers to 
> find where the problem is coming from?

Most of the highly technical error messages should never be seen by
users using our code.  If they do happen, it's sort of anyone's guess as
to why: network traffic or FS data was corrupted, someone implemented
their own delta code and got it wrong, we sprouted a bug, whatever.

I think the best approach to fixing confusing error messages is to watch
the users list or the IRC channel for people reporting them (90% of our
error messages genuinely are never seen), figure out the reproduction
recipe, and then figure out how to fix it--possibly not by changing the
error message, but by detecting it in a higher-level function and
annotating or replacing it with a more meaningful message.  If I ever
run out of big fish to fry, I hope to do some of that.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: English terminology / explanation needed

Posted by Branko Čibej <br...@xbc.nu>.
Greg Hudson wrote:

>On Wed, 2004-05-26 at 06:51, Branko Čibej wrote:
>  
>
>>We don't use sliding windows, we use sequential adjacent windows. This 
>>error is probably historical: Once upon a time, we used sequential 
>>_overlapping_ windows instead, as that tended to reduce the size of the 
>>delta (often by some 10 percent). But overlapping windows would have 
>>complicated the delta combiner enormously
>>    
>>
>
>You're only considering deltas in the FS here.
>  
>
Yes, that's true...

>>, so we moved to adjacent ones 
>>and put in a check to make sure that they really are. Well. A window 
>>"slides back" if it starts before the end of the previous window; at 
>>least, that's what this message is trying to say.
>>    
>>
>
>You're only considering deltas in the FS here.  We could still use
>overlapping source windows for deltas sent over the net.  (We don't, but
>we could.)
>  
>
Yes again.

>You're also factually inaccurate.  The code only checks, as it always
>has, that S2start >= S1start and S2end >= S1end, if S2 follows S1.
>  
>
Ouch. That's what comes of responding from memory instead of checking 
the code.

>>I'm almost of the opinion that we can ditch this error message 
>>completely, because it signals a bug in the code rather than an error 
>>condition. We should be aborting or assering instead.
>>    
>>
>svndiff data often comes from an untrusted source.  We can't abort on
>invalid data from the other side of the network.  (We also can't abort
>on invalid data from a trusted source, like a repository file, although
>it's less of a big deal if we do.)
>  
>
Hm, point taken.

Anyway, I think quite a few of these error messages -- and this one 
specifically -- may be too mired in the technicalities of the 
implementation. Would it make sense to review them, make them more 
user-friendly, whilst still being clear/unique enough for developers to 
find where the problem is coming from?




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: English terminology / explanation needed

Posted by Greg Hudson <gh...@MIT.EDU>.
On Wed, 2004-05-26 at 06:51, Branko Čibej wrote:
> We don't use sliding windows, we use sequential adjacent windows. This 
> error is probably historical: Once upon a time, we used sequential 
> _overlapping_ windows instead, as that tended to reduce the size of the 
> delta (often by some 10 percent). But overlapping windows would have 
> complicated the delta combiner enormously

You're only considering deltas in the FS here.

> , so we moved to adjacent ones 
> and put in a check to make sure that they really are. Well. A window 
> "slides back" if it starts before the end of the previous window; at 
> least, that's what this message is trying to say.

You're only considering deltas in the FS here.  We could still use
overlapping source windows for deltas sent over the net.  (We don't, but
we could.)

You're also factually inaccurate.  The code only checks, as it always
has, that S2start >= S1start and S2end >= S1end, if S2 follows S1.

> I'm almost of the opinion that we can ditch this error message 
> completely, because it signals a bug in the code rather than an error 
> condition. We should be aborting or assering instead.

svndiff data often comes from an untrusted source.  We can't abort on
invalid data from the other side of the network.  (We also can't abort
on invalid data from a trusted source, like a repository file, although
it's less of a big deal if we do.)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: English terminology / explanation needed

Posted by Branko Čibej <br...@xbc.nu>.
Ben Collins-Sussman wrote:

>>include/svn_error_codes.h:683
>>"Svndiff data contains backward-sliding source view"
>>What the Dickens is a "backward-sliding source view" ?
>>    
>>
>
>There's no way to explain svndiff encoding here.  :-)
>In a nutshell, svndiff is our way of encoding binary diffs.  It operates
>on "windows" that "slide" across the data as the diff is performed.  The
>binary diff algorithm refers to the original data by discussing offsets
>into the current window.   I think this error is complaining that an
>svndiff operation is attempting to talk about data that the window has
>already moved past.
>  
>
Almost but not quite...

We don't use sliding windows, we use sequential adjacent windows. This 
error is probably historical: Once upon a time, we used sequential 
_overlapping_ windows instead, as that tended to reduce the size of the 
delta (often by some 10 percent). But overlapping windows would have 
complicated the delta combiner enormously, so we moved to adjacent ones 
and put in a check to make sure that they really are. Well. A window 
"slides back" if it starts before the end of the previous window; at 
least, that's what this message is trying to say.

I'm almost of the opinion that we can ditch this error message 
completely, because it signals a bug in the code rather than an error 
condition. We should be aborting or assering instead.




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: English terminology / explanation needed

Posted by Brian Denny <br...@briandenny.net>.
On Tue, May 25, 2004 at 07:53:28AM -0500, Ben Collins-Sussman wrote:
> > 
> > clients/commandline/notify.c:300
> > "Status against revision: %6ld\n"
> > Does this mean "Status in revision" ? "Against" translates funny and 
> > doesn't make sense.
> 
> This is English shorthand for:  
> 
> "The status command was performed against revision X."
> 
> You only see this when you run 'svn status -u'.  The -u switch contacts
> the repository and compares the working copy to HEAD, in order to show
> which files are out-of-date.  This message tells people the exact
> revision of HEAD:  "I compared your working copy to HEAD, which is
> currently revision X."

Just to clarify: the word "against" means "compared to" or "in
comparison with".

-brian


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

RE: English terminology / explanation needed

Posted by Arild Fines <ar...@broadpark.no>.
Ben Collins-Sussman wrote:
>> include/svn_error_codes.h:829
>> "Python exception has been set with the error"
>> what has really happened? Has a python exeption occured? Where's the
>> rest of the sentence? What kind of error?
> 
> When the python-swig bindings throw a python exception, this needs to be
> converted into an svn_error_t in C.  I think this is is just a generic
> error description that means:  "the python bindings threw a python
> exception."
> 
> But I agree:  the grammar makes no sense to me here.  Maybe cmpilato or
> someone with swig-py experience can explain the grammar.  I don't
> understand what "set with the error" means.

I'd venture to guess that the message is an artifact of the Python C API for raising exceptions; they are all prefixed with PyErr_Set*

Python exceptions are set globally(in a thread-local way, I presume), and C/C++ code calling Python code needs to check whether an exception is set.

See http://docs.python.org/api/exceptionHandling.html

-- 
Arild

AnkhSVN: http://ankhsvn.tigris.org
Blog: http://ankhsvn.com/blog
IRC: irc://irc.freenode.net/ankhsvn

"Weaseling out of things is good. It's what separates us from the other
animals....except weasels." -- Homer Simpson 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: English terminology / explanation needed

Posted by Ben Collins-Sussman <su...@collab.net>.
These error messages are pretty specific to certain subcommands, so let
me give you some context:



On Tue, 2004-05-25 at 02:30, Lübbe Onken wrote:

> Here we go:
> libsvn_client/ra.c:443
> "Missing changed-path information for '%s' in revision %ld"
> what is a changed-path information and why is it missing?

This happens when the 'log' command expects to see a certain path
mentioned in the list of "changed paths", but it isn't there.  If you
run 'svn log -v', you'll see that -v switch shows the list of changed
paths for each revision.


> 
> libsvn_client/ra.c:704
> "'%s' in revision %ld is an unrelated object"
> unrelated to what?

The user has run a subcommand of the form

   'svn subcommand foo.c -r X'

Where X is a revision in the "future", i.e. some revision larger than
the working revision of foo.c.

This error happens when the svn client discovers that foo.c@X is a
completely different object from the foo.c in the working copy
(foo@BASE); they're "unrelated objects".  This happens, for example, if
sombody deletes foo.c in revision X-1, and then re-adds a new file with
the same name in revision X.


> 
> clients/commandline/notify.c:300
> "Status against revision: %6ld\n"
> Does this mean "Status in revision" ? "Against" translates funny and 
> doesn't make sense.

This is English shorthand for:  

"The status command was performed against revision X."

You only see this when you run 'svn status -u'.  The -u switch contacts
the repository and compares the working copy to HEAD, in order to show
which files are out-of-date.  This message tells people the exact
revision of HEAD:  "I compared your working copy to HEAD, which is
currently revision X."

> 
> include/svn_error_codes.h:683
> "Svndiff data contains backward-sliding source view"
> What the Dickens is a "backward-sliding source view" ?

There's no way to explain svndiff encoding here.  :-)
In a nutshell, svndiff is our way of encoding binary diffs.  It operates
on "windows" that "slide" across the data as the diff is performed.  The
binary diff algorithm refers to the original data by discussing offsets
into the current window.   I think this error is complaining that an
svndiff operation is attempting to talk about data that the window has
already moved past.

> 
> include/svn_error_codes.h:829
> "Python exception has been set with the error"
> what has really happened? Has a python exeption occured? Where's the 
> rest of the sentence? What kind of error?

When the python-swig bindings throw a python exception, this needs to be
converted into an svn_error_t in C.  I think this is is just a generic
error description that means:  "the python bindings threw a python
exception."

But I agree:  the grammar makes no sense to me here.  Maybe cmpilato or
someone with swig-py experience can explain the grammar.  I don't
understand what "set with the error" means.

> 
> libsvn_ra_dav/fetch.c:2314
> "REPORT response handling failed to complete the editor drive"
> Err what?

REPORT is an http method, part of webdav.  Editors are the mechanisms by
which trees are changed.  An "editor" is a table of functions which,
when called by a "driver" process, causes a tree to change.  Yes, this
error message assumes you are a developer, not a user.  :-)

Don't translate the word "REPORT":  that's a webdav method.  I guess you
can translate "editor" and "driver" (==> "editor" is the same word auf
Deutsch, nein?  And the noun "drive" is tricky, some noun form of
"steuern", maybe?)




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org