On Wednesday 24 October 2012 07:16 PM, C. Michael Pilato wrote:
On 10/24/2012 09:25 AM, vijay wrote:
On Wednesday 24 October 2012 02:33 AM, Ben Reser wrote:
Does it make more sense to make --include-externals behave something
more like --depth rather than a simple boolean?
E.G. it'd behave like so:
No option: current behavior externals are not processed.
--include-externals or --include-externals=infinity : Fully recursive.
--include-externals=immediate : Only externals defined in the repo for
the target.
Externals are today always generated with full recursion, because a) the
responsibility for deciding at what depth an external working copy is
interesting lies with the author of that externals definition, and b) today,
we don't allow authors to make such a declaration (all externals are
depth-infinity). The shortcomings of our externals definition format
doesn't, however, change the assignment of responsibility here! So, no, I
think --include-externals=DEPTH takes us down the wrong path.
In fact, IIRC, our existing commands (svn export) will only process
externals at all when run with full recursion anyway, so perhaps the
consistent thing to do is to only honor --include-externals (as a boolean)
when --depth=infinity for 'svn ls', too.
All other commands like svn export, checkout will run with
'--depth=infinity' by default.
But 'svn ls' will run with '--depth=immediates' by default.
If we do like as follows, won't it be easy to understand?
$ svn list --include-externals
The current working copy directory and all externals(including externals
inside of externals) under cwd will be listed with depth 'immediates'.
$ svn list --depth=infinity --include-externals
The current working copy directory and all externals(including externals
inside of externals) under cwd will be listed with depth 'infinity'.
It works the same way as above for 'svn list --depth=files
--include-externals'.
Thanks & Regards,
Vijayaguru