I just checked out the latest nightly, 18591, and was delighted to see
the modifications to support tagging externals. (I have not been
following the discussions on the devel list.)
I tried it out with a sample test case and would like to pass on the
following comments:
(1) It would be VERY helpful if there was a "Check all" button for
selecting the externals to be tagged. Having to manually select a
large number of library routines is inconvenient.
(2) After creating the tag in the repository, I then decided to
checkout a local working copy. It appeared to work as expected,
creating actual copies of all of the externals in the WC. However, it
then continued processing the same files as externals, giving repeated
'External failed - cannot overwrite existing version...' errors. In
the test tags repository, I see that both copies and externals of each
file are present. Did I do something wrong to cause this?
Thanks again for your excellent work.
Bob
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447767
To unsubscribe from this discussion, e-mail: [users-un...@tortoisesvn.tigris.org].
How many externals do you have?
> (2) After creating the tag in the repository, I then decided to
> checkout a local working copy. It appeared to work as expected,
> creating actual copies of all of the externals in the WC. However, it
> then continued processing the same files as externals, giving repeated
> 'External failed - cannot overwrite existing version...' errors. In
> the test tags repository, I see that both copies and externals of each
> file are present. Did I do something wrong to cause this?
Could you provide us with the original svn:external value(s) and the
modified ones? That way I can check what went wrong and how TSVN
modified the properties.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447806
22 for my test case. I include my different library source routines
into my projects as externals.
>
> > (2) After creating the tag in the repository, I then decided to
> > checkout a local working copy. It appeared to work as expected,
> > creating actual copies of all of the externals in the WC. However, it
> > then continued processing the same files as externals, giving repeated
> > 'External failed - cannot overwrite existing version...' errors. In
> > the test tags repository, I see that both copies and externals of each
> > file are present. Did I do something wrong to cause this?
>
> Could you provide us with the original svn:external value(s) and the
> modified ones? That way I can check what went wrong and how TSVN
> modified the properties.
>
I am not sure of the best way to do this. I have exported the
svn:externals properties for both the original trunk,
'trunk.svnprops', and the checked out working copy of the tag,
'test1.svnprops'. Should I just send these two files using the Files
'upload new file"?
What I do not understand, however, is why the tagged WC even has
svn:externals set in the properties.
It has the actual local copies and does not need the externals.
By the way, I am not positive, but I believe that I did the tag
starting with a local WC.
Thanks,
Bob
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447812
Yes, please do that.
> What I do not understand, however, is why the tagged WC even has
> svn:externals set in the properties.
> It has the actual local copies and does not need the externals.
> By the way, I am not positive, but I believe that I did the tag
> starting with a local WC.
Did it have svn:externals before the tagging?
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447816
OK. I sent the two exported properties files.
> > What I do not understand, however, is why the tagged WC even has
> > svn:externals set in the properties.
> > It has the actual local copies and does not need the externals.
> > By the way, I am not positive, but I believe that I did the tag
> > starting with a local WC.
>
> Did it have svn:externals before the tagging?
Yes. The trunk WC has the svn:externals set for the externals that I
use in the project.
Perhaps I am misunderstanding what is supposed to happen here.
When I manually create a tag, I simply remove the svn:externals
property from, say, the trunk WC.
I then create a tag from this WC. Thus the tag itself no longer
includes the svn:properties.
I then revert the trunk, restoring the svn:properties to it.
I guess I was expecting something similar when using the new externals
tagging feature.
Bob
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447819
I went back and repeated the process, this time creating a tag from
the HEAD revision in the repository.
I then checked out a WC of this tag and it appears that everything
worked correctly. At least there were no errors.
Apparently, when I created a tag from my trunk WC, it actually made
copies of the external files in the repository and also included the
same files as externals. Having both an actual copy and an external
for the same file is the source of the problem.
When I created the tag from the repository HEAD, the files are
included as externals only in the tag repository.
From this I see also that the new process is different from and better
than the manual procedure I described earlier.
The externals revision numbers are stored with the tag properties -
not actual copies of the files themselves.
The only problem I see now is that when creating a tag from the WC,
actual copies of the externals should not be added into the repo along
with the externals.
Thanks again.
Bob
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447837
Does this also happen if you do not check any external in the branch/tag
dialog and then create the branch/tag from the wc? Does it then include
the (I assume) file externals in the branch/tag too?
If yes, then that's a 'feature' of the svn library and I'll have to find
a way around that...
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447850
Very interesting!.
I created a third test tag as you suggested. That is, I created a tag
from my trunk wc and did NOT check any of the externals.
The resulting tag in the repo included both copies of the external
files and also the externals.
So even though the externals were not checked, both the files and the
externals were included in the tag.
(And of course checking out a wc of this tag then gives the same
errors that I mentioned in my first post above.)
Bob
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2447862
> Does this also happen if you do not check any external in the branch/tagVery interesting!.
> dialog and then create the branch/tag from the wc? Does it then include
> the (I assume) file externals in the branch/tag too?
> If yes, then that's a 'feature' of the svn library and I'll have to find
> a way around that...
I created a third test tag as you suggested. That is, I created a tag
from my trunk wc and did NOT check any of the externals.
The resulting tag in the repo included both copies of the external
files and also the externals.
So even though the externals were not checked, both the files and the
externals were included in the tag.
(And of course checking out a wc of this tag then gives the same
errors that I mentioned in my first post above.)
Bob
But
[repo-path]@[last-changed-revision] [wc-path]
would always check out the HEAD revision. The peg revision only helps to
track renames/moves. But without the '-r' switch, the revision to fetch
defaults to HEAD.
So to fix this correctly, I have to change the externals to
-r [last-changed-revision] [repo-path]@[last-changed-revision] [wc-path]
Of course, the peg revision should only be changed if it wasn't
specified before.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2454550
Of course, the peg revision should only be changed if it wasn't
specified before.
> But
> [repo-path]@[last-changed-revision] [wc-path]
> would always check out the HEAD revision. The peg revision only helps to
> track renames/moves. But without the '-r' switch, the revision to fetch
> defaults to HEAD.
>
> So to fix this correctly, I have to change the externals to
> -r [last-changed-revision] [repo-path]@[last-changed-revision] [wc-path]
>
>
> Ah yes, I agree.
>
> Of course, the peg revision should only be changed if it wasn't
> specified before.
>
> Yes, of course.
>
> Thanks Stefan!
You can try a nightly build and see if it works for you now.
> Will the new feature make it into 1.6.9, or 1.7.0?
This won't get into 1.6.x but only in 1.7.0. No new features get into
the stable (1.6.x) branch.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2455192
I just installed nightly release 18808. Thanks very much for adding
the "Check: All" option to the externals tag list. That helps a lot.
I guess I should mention that I still have the problem described
earlier when creating a tag from the working copy. Both actual copies
and external references are placed in the repository, causing an error
when the project is checked out.
This is not a big deal for me since I usually create tags from the
repository HEAD, and this works properly. I just thought you might
want to know about the problem
Bob
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2455499
http://subversion.tigris.org/issues/show_bug.cgi?id=3589
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2456128
> So to fix this correctly, I have to change the externals to
> -r [last-changed-revision] [repo-path]@[last-changed-revision] [wc-path]
You can try a nightly build and see if it works for you now.
Fixed in r18876.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2457235
> <mailto:torto...@gmail.com>> wrote:Fixed in r18876.
>
> > So to fix this correctly, I have to change the externals to
> > -r [last-changed-revision]
> [repo-path]@[last-changed-revision] [wc-path]
>
> You can try a nightly build and see if it works for you now.
>
>
> I just tried 1.6.99, Build 18842 - 32 Bit -dev, 2010/03/07 19:58:30, but
> the externals are still changed to
> -r [last-changed-revision] [repo-path]@HEAD [wc-path]
Stefan