On 8/27/05, Erik Huelsmann <ehuels@gmail.com> wrote:
> 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):
It is what I looking for. But for some reason I have looked it in /notes.
> - 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
> copyfrom_url.
>
> 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.
Working copy library really mess. Thank you for investigation and
fixing my patch.
> Log:
> [[[
> 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.
>
No, as I see in your patch your modified tests too:
Index: subversion/tests/clients/cmdline/copy_tests.py
===================================================================
--- subversion/tests/clients/cmdline/copy_tests.py (revision 15904)
+++ subversion/tests/clients/cmdline/copy_tests.py (working copy)
@@ -905,7 +905,7 @@
expected_output = svntest.actions.get_virginal_state(wc_dir, 1)
expected_output.add({
- 'pi' : Item(status='A ', wc_rev='0'),
+ 'pi' : Item(status='A ', wc_rev='1'),
})
svntest.actions.run_and_verify_status (wc_dir, expected_output)
--
Ivan Zhakov
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Aug 27 00:00:58 2005