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

Re: svn URL PATH wc replacements questions

From: Erik Huelsmann <ehuels_at_gmail.com>
Date: 2005-08-26 23:39:43 CEST

Hi Ivan!

> I'm working on wc-replacements branch. As my next step I try implement
> svn URL PATH replacements. And I don't know how implemented this
> properly.

Neither did I, but your patch is a good start...

[snip log]

> As you see questionable hack occur in function install_file(). But it
> works and passes all tests.

I noticed that, but, yes it's a horrible hack and actually incorrect ...

> Although I don't know when revision field
> in entries file should be present.

... which I found out after researching what the revision field means
and when it should be there. This is what I found out (partly by
reading http://svn.collab.net/repos/svn/trunk/subversion/libsvn_wc/README):

- The revision field is either present
- or implied by the parent

The revision field contains the revision of the text-base associated
with the file in the .svn area. This means that your patch - changing
the revision number - can't be correct: it changes the revision of the
text-base without changing the text-base itself.

But there's hope: I also figured out it's (with our wc-replacements
work) no longer valid to require install file have revision == 0 when

I have attached my patch to this mail, both for you and other reviewers.

> Also it seems that my patch fixes bug
> http://subversion.tigris.org/issues/show_bug.cgi?id=2144
> Reverting repos-to-wc replacements didn't implemented yet.

That's correct. And because this bug messes up working copies, I'm now
helping you implement wc-replacements. As soon as our work is done, so
is 2144.



Implement repos->wc copy-replacements.

* subversion/libsvn_wc/update_editor.c (install_file): Remove the requirement
  of new_revision to be 0 when copyfrom_url != NULL as existing entries
  (and thus revision != 0) can be replaced.
  (svn_wc_add_repos_file): Pass revision number of existing entry - if one
  exists - to install_file.

* subversion/libsvn_client/copy.c (repos_to_wc_copy): Allow replacement
  of deleted files.

* subversion/tests/clients/cmdline/copy_tests.py:
 (repos_to_wc_copy_replacement): New test for repos to wc replacements.
 (repos_to_wc): Modify expected revision after copy.


PS: As you see, I didn't modify the tests.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 26 23:40:29 2005

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.