Log Message: |
Shelving: implement 'svn status' for a shelf.
The interface uses a special form of changelist name, 'svn:shelf:SHELFNAME',
to request operating on a shelf.
Example:
$ svn st --cl svn:shelf:foo
--- Changelist 'svn:shelf:foo':
A add.txt
MM mod.txt
D del.txt
TODO: specialize the command-line syntax and output format to say 'shelf'
and hide the 'svn:shelf:' prefix.
* subversion/include/svn_client.h
(svn_client_shelf_version_status_walk): New.
* subversion/libsvn_client/shelf.c
(wc_status_unserialize): Rename the unused pool parameter.
(status_read): Fill in the changelist name as 'svn:shelf:SHELFNAME'.
(shelf_status_baton_t,
shelf_status_visitor,
shelf_status_visit_path,
shelf_status_walk): Allow starting the walk at a given top relpath.
(wc_status_baton_t,
wc_status_visitor,
svn_client_shelf_version_status_walk): New.
(shelf_paths_changed,
svn_client_shelf_apply,
svn_client_shelf_export_patch): Adjust callers (top relpath = "").
* subversion/libsvn_client/status.c
(shelf_status,
shelves_status): New.
(svn_client_status6): Run status on any requested shelves, before the
main WC.
* subversion/tests/cmdline/shelf_tests.py
(shelf_status): New test.
(test_list): Run it.
|