Hi,
I'm looking to improving svn commit progress notification. I want to
add notification between "Transmitting deltas" and final "Committed
revision X". The final stage may take significant amount of time,
especially if we implement automatic packing someday. It's better to
explicitly tell user that we finalizing commit and do not stuck on
"transmitting deltas".
Anyone have any ideas on the UI in svn command line. I've prepared
several versions:1.
[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Finalizing commit ...
Committed revision 5.
]]]
[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Finalizing commit: Committed revision 5.
]]]
[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Committing: Committed revision 5.
]]]
[[[
$ svn ci wc -m "log msg"
Sending wc\foo
Transmitting file data .
Finalizing: Committed revision 5.
]]]
Any other ideas?
The code changes are pretty simple. Working in progress patch attached
if anyone want to play with it.
[[[
Add new libsvn_client notification between transmitting deltas and
finalizing commit. The final stage of commit may consume significant
amount of time, especially if we have automatic packing someday.
* subversion/include/svn_wc.h
(svn_wc_notify_action_t): Add svn_wc_notify_commit_finalizing.
* subversion/libsvn_client/add.c
* subversion/libsvn_client/commit_util.c
* subversion/libsvn_client/copy.c
* subversion/libsvn_client/delete.c
* subversion/libsvn_client/mtcc.c
* subversion/libsvn_client/prop_commands.c
(mkdir_urls, svn_client__do_commit, repos_to_repos_copy,
single_repos_delete, svn_client_mtcc_commit, propset_on_url): Send
svn_wc_notify_commit_finalizing notification before closing edit.
* subversion/libsvn_client/import.c
(import): Add URL argument and send svn_wc_notify_commit_finalizing
notification before closing edit.
(svn_client_import5): Update caller.
* subversion/svn/notify.c
(notify): Handle svn_wc_notify_commit_finalizing notification.
* subversion/svn/util.c
(svn_cl__print_commit_info): Do not print leading new line, to have
pre-commit and commit message on the same line.
* subversion/tests/cmdline/svntest/wc.py
(State.from_commit): Ignore 'Finalizing commit' output.
]]]
--
Ivan Zhakov
CTO | VisualSVN | http://www.visualsvn.com
Received on 2014-06-18 01:41:33 CEST