[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[WIP] Some quirky parts of libsvn_wc/status.c:assemble_status() for retrieving revisions

From: Daniel Näslund <daniel_at_longitudo.com>
Date: Mon, 19 Apr 2010 18:14:32 +0200

Hi!

I have a patch that passes make check. But a test suite can't test
everything (although the status code is probably one of the best covered
due to it's part in almost every cmdline-test). Posting only the changes
in libsvn_wc/status.c

What I'm wondering about:

* I'm using SVN_INVALID_REVNUM() for determining if read_info() gives us
  a valid revision. If it does I assume that we don't have to check for
  base_shadowed, addition or deletion. If the path used as IN parameter
  to read_info() is deleted, we will get a valid revision. Correct?

* svn_wc__db_scan_deletion() checks work_del_abspath. That works for all
  the cases in the test suite. I assumed that a plain delete would set
  the work_del_abspath to the root but this part of the doc comment of
  scan_deletion() says something else. Am I misinterpreting this (e.g.
  it's a part of the earlier paragraphs and has more operations done) or
  can it really be that a plain delete does not set the work_del_abspath?

[[[
If B/W/D does not exist in the WORKING tree (we're only talking about a
deletion of nodes of the BASE tree), then deleting B/W/D would have
marked the subtree for deletion. BASE_DEL_ABSPATH will refer to B/W/D,
BASE_REPLACED will be FALSE, MOVED_TO_ABSPATH will be NULL, and
WORK_DEL_ABSPATH will be NULL.
]]]

* For all cases where read_info() says we have an addition (and by that
  read_info() means copied-here and moved-here too) I've set the
  revision to -1. Correct? Until committed, no revision exists is my
  point!

Daniel

Received on 2010-04-19 18:15:28 CEST

This is an archived mail posted to the Subversion Dev mailing list.