/[Apache-SVN]
ViewVC logotype

Revision 1544690


Jump to revision: Previous Next
Author: rhuijben
Date: Fri Nov 22 21:49:46 2013 UTC (10 years, 5 months ago)
Changed paths: 5
Log Message:
Fix a very ugly case in 'svn status' where 'svn status wc' and
'svn status wc/path' could show a different status for path.

This also makes 'svn status' always describe the highest moved_to when
there are multiple moves from a single location.
(This behavior was undefined before, but identical to what you would get with
 the usual index usage in sqlite)

This patch has the nice side effect that it resolves the most common crash
report in the current AnkhSVN version: an assertion caused by an invalid
move stored in wc.db.

* subversion/libsvn_wc/status.c
  (read_info): Move this function into wc_db.c to allow using a lock and
    access to private apis.
  (assemble_status): Update caller. Update moved_to usage.
  (get_dir_status,
   get_child_status,
   svn_wc__internal_walk_status): Update caller.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_SELECT_MOVED_TO_NODE): New query.

* subversion/libsvn_wc/wc_db.c
  (read_children_info): Set moved_here as documented: only for op-roots.
    Don't duplicate name for every higher layer.
    Hook moved_to information in a linked list, to provide users all move
    information.
  (read_single_info,
   svn_wc__db_read_single_info): New function. Based on status' read_info,
     but reports more accurage results on shadowed nodes.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_moved_to_info_t): New struct.
  (svn_wc__db_info_t): Describe all moved_tos.
  (svn_wc__db_read_single_info): New function.

* subversion/tests/cmdline/stat_tests.py
  (status_move_missing_direct): Remove XFail marker.


Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_wc/status.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc-queries.sql modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc_db.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc_db.h modified , text changed
Directorysubversion/trunk/subversion/tests/cmdline/stat_tests.py modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26