You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> on 2001/08/31 15:10:38 UTC

Re: [SVN-DEV] RE: CVS update: MODIFIED: libsvn_wc ...

On Fri, 31 Aug 2001, Sander Striker wrote:

> The changes to svn_path_compare_paths are fairly trivial.  I can
> modify that this weekend to let it do:
>     contact.html          <
>     orderform.html        <
>     docs/biography.pdf    <
>     docs/mailinglist.txt 
> 
> Before falling back to strncmp it is simply a matter of '/' counting.

just a check: you *do* normalize paths like 'foo/../bar/./baz//bat' right?
or guarantee they're never created to begin with? [even if the user enters
them on the command-line?]

otherwise / counting won't be strictly correct.
  --s

kibo PLO Ft. Meade Kennedy SEAL Team 6 plutonium Richard Tomlinson 
postcard United Nations Sabana Seca Yeltsin terrorist Soviet  pending 
              ( http://lesser-magoo.lcs.mit.edu/~cananian )
 --
 "These students are going to have to find out what law and order is
 all about."  -- Brig. General Robert Canterbury, Noon, May 4, 1970,
 minutes before his troops shot 13 unarmed Kent State students, killing 4.
 --
            [http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <si...@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


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

Re: [SVN-DEV] RE: CVS update: MODIFIED: libsvn_wc ...

Posted by cm...@collab.net.
"C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:

> What does 'realpath' do with 'bar/baz/'?  

Not sure.  But that's irrelevant.

The code that does the sorting doesn't need to know the file/dir-ness
of a path.  It's a friggin' SORT ROUTINE -- it SORTS.  It doesn't read
the disk, it doesn't canonicalize, it doesn't write home to Mom -- it
sorts.

The code that does the recursing is entered after the paths have all
been sorted, and it checks the file/dir-ness of each target (among
other things).  That code is hitting the disk all over the place,
reading entries files and examining timestamps and all that stuff.

Folks, please read the code.  At least demonstrate that you know the
layout of the shed before running off to Home Depot to choose your
colors.


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

Re: [SVN-DEV] RE: CVS update: MODIFIED: libsvn_wc ...

Posted by "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu>.
On 4 Sep 2001 cmpilato@collab.net wrote:

> "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:
> 
> > just a check: you *do* normalize paths like 'foo/../bar/./baz//bat' right?
> > or guarantee they're never created to begin with? [even if the user enters
> > them on the command-line?]
> 
> The paths that come into this routine have all been slapped through a
> "realpath" routine, and should represent the results of taking the
> absolute path of each target, minus the ancestry common to all targets.

What does 'realpath' do with 'bar/baz/'?  Does it check that baz is a
directory before stripping the final slash?  Or is 'bar/baz/.' the same as
'bar/baz' even if baz is a file?  [this is relevant because there was
already mention of how the recursion can't tell if baz is a file or
directory 'without slapping the disk' and i'm wondering if the
disk-slapping has already occurred.]
 --s

Albanian operation Flintlock atomic [Hello to all my fans in domestic surveillance] 
Ft. Meade smuggle Milosevic UKUSA East Timor SEAL Team 6 arrangements 
              ( http://lesser-magoo.lcs.mit.edu/~cananian )
 --
 "These students are going to have to find out what law and order is
 all about."  -- Brig. General Robert Canterbury, Noon, May 4, 1970,
 minutes before his troops shot 13 unarmed Kent State students, killing 4.
 --
            [http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <si...@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


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

Re: [SVN-DEV] RE: CVS update: MODIFIED: libsvn_wc ...

Posted by cm...@collab.net.
"C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:

> just a check: you *do* normalize paths like 'foo/../bar/./baz//bat' right?
> or guarantee they're never created to begin with? [even if the user enters
> them on the command-line?]

The paths that come into this routine have all been slapped through a
"realpath" routine, and should represent the results of taking the
absolute path of each target, minus the ancestry common to all targets.


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