[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

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

From: Paul Burba <ptburba_at_gmail.com>
Date: Mon, 19 Nov 2012 15:04:25 -0500

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
Received on 2012-11-19 21:05:00 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.