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