You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Paul Burba <pt...@gmail.com> on 2012/11/19 21:04:25 UTC

[RFC]: Make svnlook (pg|pl) output format mimic svn (pg|pl) & add --show-inherited-props option (Was: multiple targets for 'svnlook propget')

Recently Johan proposed supporting multiple targets for svnlook
propget: http://svn.haxx.se/dev/archive-2012-11/0439.shtml

One of the ideas that came of this was to make the output of 'svnlook
(pl|pg)' mimic the output of 'svn (pl|pg)'.  This dovetails nicely
with my desire to add the ''show-inherited-props" option to svnlook
(pl|pg): http://svn.haxx.se/dev/archive-2012-11/0432.shtml

The question is, how far do we go with the backwards incompatible
changes to the output of svnlook (pg|pl)? Here's what we have today
(skip ahead to "PROPOSED CHANGES:" if you already know all this):

### svn proplist Today: ###

>svn pl A\B
Properties on 'A\B':
  svn:auto-props
  svn:global-ignores

>svn pl A\B -v
Properties on 'A\B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

  svn:global-ignores
    *.pyc

>svn pl A\B --show-inherited-props
Properties inherited from
'C:\SVN\src-trunk-2\Debug\subversion\tests\cmdline\svn-test-work\working_copies\autoprop_tests-30':
  svn:auto-props
Properties on 'A\B':
  svn:auto-props
  svn:global-ignores

>svn pl A\B --show-inherited-props -v
Properties inherited from
'C:\SVN\src-trunk-2\Debug\subversion\tests\cmdline\svn-test-work\working_copies\autoprop_tests-30':
  svn:auto-props
    *.py=svn:eol-style=native
    *.cpp=svn:eol-style=native

Properties on 'A\B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

  svn:global-ignores
    *.pyc

### svnlook proplist Today: ###

>svnlook pl autoprop_tests-30 A/B
  svn:global-ignores
  svn:auto-props

>svnlook pl autoprop_tests-30 A/B -v
  svn:global-ignores : *.pyc

  svn:auto-props : *.c=svn:eol-style=native
*.h=svn:eol-style=native

### svn propget Today: ###

>svn pg svn:auto-props ^^/A/B
*.c=svn:eol-style=native
*.h=svn:eol-style=native

>svn pg svn:auto-props ^^/A/B -v
Properties on 'file:///C:/SVN/src-trunk-2/Debug/subversion/tests/cmdline/svn-test-work/repositories/autoprop_tests-30/A/B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

>svn pg svn:auto-props A\B --show-inherited-props
. - *.py=svn:eol-style=native
*.cpp=svn:eol-style=native

A\B - *.c=svn:eol-style=native
*.h=svn:eol-style=native

>svn pg svn:auto-props A\B --show-inherited-props -v
Properties inherited from '.':
  svn:auto-props
    *.py=svn:eol-style=native
    *.cpp=svn:eol-style=native

Properties on 'A\B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

### svnlook propget Today: ###

>svnlook pg autoprop_tests-30 svn:auto-props A/B
*.c=svn:eol-style=native
*.h=svn:eol-style=native

(svnlook pg -v is not currently supported)

PROPOSED CHANGES:

### FORMAT CHANGE: 'svnlook pl' outputs results similar to 'svn pl':
>svnlook pl autoprop_tests-30 A/B
Properties on '/A/B':
  svn:auto-props
  svn:global-ignores

### FORMAT CHANGE: 'svnlook pl -v' outputs results like 'svn pl -v'
>svnlook pl autoprop_tests-30 A/B -v
Properties on '/A/B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native
  svn:global-ignores
    *.pyc

### NEW OPTION: Add support for 'svnlook pl --show-inherited-props'
with output similar to 'svn pl --show-inherited-props':
>svnlook pl autoprop_tests-30 A/B --show-inherited-props
Properties inherited from '/':
  svn:auto-props
Properties on '/A/B':
  svn:auto-props
  svn:global-ignores

### NEW OPTION: As above, but with -v:
>svnlook pl autoprop_tests-30 A/B --show-inherited-props -v
Properties inherited from '/':
  svn:global-ignores
    *.pyc
Properties on '/A/B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native
Properties on '/A/B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

### NO CHANGE: 'svnlook pg' stays the same:
>svnlook pg autoprop_tests-30 svn:auto-props A/B
*.c=svn:eol-style=native
*.h=svn:eol-style=native

### NEW OPTION: Add support for 'svnlook pg -v' with output similar to
'svn pg -v':
>svnlook pg autoprop_tests-30 svn:auto-props A/B -v
Properties on '/A/B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

### NEW OPTION: Add support for 'svnlook pg --show-inherited-props'
with output similar to 'svn pg --show-inherited-props':
>svnlook pg autoprop_tests-30 svn:auto-props A/B --show-inherited-props
. - *.py=svn:eol-style=native
*.cpp=svn:eol-style=native

A\B - *.c=svn:eol-style=native
*.h=svn:eol-style=native

### As above, but with new -v option:
svnlook pg autoprop_tests-30 svn:auto-props A/B --show-inherited-props -v
Properties inherited from '/':
  svn:auto-props
    *.py=svn:eol-style=native
    *.cpp=svn:eol-style=native

Properties on '/A/B':
  svn:auto-props
    *.c=svn:eol-style=native
    *.h=svn:eol-style=native

So the only backwards incompatible changes we'd be making compared to
1.7 are for 'svnlook pl' and 'svnlook pl -v', everything else proposed
above is the result of a new option.

Is this acceptable?

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba

Re: [RFC]: Make svnlook (pg|pl) output format mimic svn (pg|pl) & add --show-inherited-props option (Was: multiple targets for 'svnlook propget')

Posted by Johan Corveleyn <jc...@gmail.com>.
On Mon, Dec 3, 2012 at 7:57 PM, Paul Burba <pt...@gmail.com> wrote:
> On Mon, Nov 19, 2012 at 3:04 PM, Paul Burba <pt...@gmail.com> wrote:
>> Recently Johan proposed supporting multiple targets for svnlook
>> propget: http://svn.haxx.se/dev/archive-2012-11/0439.shtml
>>
>> One of the ideas that came of this was to make the output of 'svnlook
>> (pl|pg)' mimic the output of 'svn (pl|pg)'.  This dovetails nicely
>> with my desire to add the ''show-inherited-props" option to svnlook
>> (pl|pg): http://svn.haxx.se/dev/archive-2012-11/0432.shtml
...
> Done r1416637.  See also http://svn.haxx.se/dev/archive-2012-11/0510.shtml

Nice, thanks! Another step increasing the utility of svnlook.

-- 
Johan

Re: [RFC]: Make svnlook (pg|pl) output format mimic svn (pg|pl) & add --show-inherited-props option (Was: multiple targets for 'svnlook propget')

Posted by Paul Burba <pt...@gmail.com>.
On Mon, Nov 19, 2012 at 3:04 PM, Paul Burba <pt...@gmail.com> wrote:
> Recently Johan proposed supporting multiple targets for svnlook
> propget: http://svn.haxx.se/dev/archive-2012-11/0439.shtml
>
> One of the ideas that came of this was to make the output of 'svnlook
> (pl|pg)' mimic the output of 'svn (pl|pg)'.  This dovetails nicely
> with my desire to add the ''show-inherited-props" option to svnlook
> (pl|pg): http://svn.haxx.se/dev/archive-2012-11/0432.shtml
>
> The question is, how far do we go with the backwards incompatible
> changes to the output of svnlook (pg|pl)? Here's what we have today
> (skip ahead to "PROPOSED CHANGES:" if you already know all this):
>
> ### svn proplist Today: ###
>
>>svn pl A\B
> Properties on 'A\B':
>   svn:auto-props
>   svn:global-ignores
>
>>svn pl A\B -v
> Properties on 'A\B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
>   svn:global-ignores
>     *.pyc
>
>>svn pl A\B --show-inherited-props
> Properties inherited from
> 'C:\SVN\src-trunk-2\Debug\subversion\tests\cmdline\svn-test-work\working_copies\autoprop_tests-30':
>   svn:auto-props
> Properties on 'A\B':
>   svn:auto-props
>   svn:global-ignores
>
>>svn pl A\B --show-inherited-props -v
> Properties inherited from
> 'C:\SVN\src-trunk-2\Debug\subversion\tests\cmdline\svn-test-work\working_copies\autoprop_tests-30':
>   svn:auto-props
>     *.py=svn:eol-style=native
>     *.cpp=svn:eol-style=native
>
> Properties on 'A\B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
>   svn:global-ignores
>     *.pyc
>
> ### svnlook proplist Today: ###
>
>>svnlook pl autoprop_tests-30 A/B
>   svn:global-ignores
>   svn:auto-props
>
>>svnlook pl autoprop_tests-30 A/B -v
>   svn:global-ignores : *.pyc
>
>   svn:auto-props : *.c=svn:eol-style=native
> *.h=svn:eol-style=native
>
> ### svn propget Today: ###
>
>>svn pg svn:auto-props ^^/A/B
> *.c=svn:eol-style=native
> *.h=svn:eol-style=native
>
>>svn pg svn:auto-props ^^/A/B -v
> Properties on 'file:///C:/SVN/src-trunk-2/Debug/subversion/tests/cmdline/svn-test-work/repositories/autoprop_tests-30/A/B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
>>svn pg svn:auto-props A\B --show-inherited-props
> . - *.py=svn:eol-style=native
> *.cpp=svn:eol-style=native
>
> A\B - *.c=svn:eol-style=native
> *.h=svn:eol-style=native
>
>>svn pg svn:auto-props A\B --show-inherited-props -v
> Properties inherited from '.':
>   svn:auto-props
>     *.py=svn:eol-style=native
>     *.cpp=svn:eol-style=native
>
> Properties on 'A\B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
> ### svnlook propget Today: ###
>
>>svnlook pg autoprop_tests-30 svn:auto-props A/B
> *.c=svn:eol-style=native
> *.h=svn:eol-style=native
>
> (svnlook pg -v is not currently supported)
>
> PROPOSED CHANGES:
>
> ### FORMAT CHANGE: 'svnlook pl' outputs results similar to 'svn pl':
>>svnlook pl autoprop_tests-30 A/B
> Properties on '/A/B':
>   svn:auto-props
>   svn:global-ignores
>
> ### FORMAT CHANGE: 'svnlook pl -v' outputs results like 'svn pl -v'
>>svnlook pl autoprop_tests-30 A/B -v
> Properties on '/A/B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>   svn:global-ignores
>     *.pyc
>
> ### NEW OPTION: Add support for 'svnlook pl --show-inherited-props'
> with output similar to 'svn pl --show-inherited-props':
>>svnlook pl autoprop_tests-30 A/B --show-inherited-props
> Properties inherited from '/':
>   svn:auto-props
> Properties on '/A/B':
>   svn:auto-props
>   svn:global-ignores
>
> ### NEW OPTION: As above, but with -v:
>>svnlook pl autoprop_tests-30 A/B --show-inherited-props -v
> Properties inherited from '/':
>   svn:global-ignores
>     *.pyc
> Properties on '/A/B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
> Properties on '/A/B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
> ### NO CHANGE: 'svnlook pg' stays the same:
>>svnlook pg autoprop_tests-30 svn:auto-props A/B
> *.c=svn:eol-style=native
> *.h=svn:eol-style=native
>
> ### NEW OPTION: Add support for 'svnlook pg -v' with output similar to
> 'svn pg -v':
>>svnlook pg autoprop_tests-30 svn:auto-props A/B -v
> Properties on '/A/B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
> ### NEW OPTION: Add support for 'svnlook pg --show-inherited-props'
> with output similar to 'svn pg --show-inherited-props':
>>svnlook pg autoprop_tests-30 svn:auto-props A/B --show-inherited-props
> . - *.py=svn:eol-style=native
> *.cpp=svn:eol-style=native
>
> A\B - *.c=svn:eol-style=native
> *.h=svn:eol-style=native
>
> ### As above, but with new -v option:
> svnlook pg autoprop_tests-30 svn:auto-props A/B --show-inherited-props -v
> Properties inherited from '/':
>   svn:auto-props
>     *.py=svn:eol-style=native
>     *.cpp=svn:eol-style=native
>
> Properties on '/A/B':
>   svn:auto-props
>     *.c=svn:eol-style=native
>     *.h=svn:eol-style=native
>
> So the only backwards incompatible changes we'd be making compared to
> 1.7 are for 'svnlook pl' and 'svnlook pl -v', everything else proposed
> above is the result of a new option.
>
> Is this acceptable?

Done r1416637.  See also http://svn.haxx.se/dev/archive-2012-11/0510.shtml

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba