Hi Justin, Thanks for your reply.
I understand that TSVN automatically includes externals (from the same repo) in the commit. My complains are not about commit behavior. This works as expected. What's confusing is the log. Whether or not the log shows a change in the externals depends on whether or not the commit included changes in the main dir as well. That's not consistent. I would expect that the log always shows all changes made to the given WC tree. Udo On Saturday, February 1, 2020 at 7:27:22 PM UTC+1, Justin MASSIOT wrote: > > Udo, > From the TortoiseSVN documentation > <https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-externals.html>, > > you're using a feature which you may not be aware of: > > If the external project is *in the same repository*, any changes you make >> there will be included in the commit list when you commit your main >> project. >> >> If the external project is in a different repository, any changes you >> make to the external project will be shown or indicated when you commit the >> main project, but you have to commit those external changes separately. >> > > It's only an ease of use added on top of the regular behaviour about > externals. > So to me, what you describe is not a bug, it's the standard behaviour for > externals: when you look at the logs of a WC/repo, externals are not listed. > > > Le samedi 1 février 2020 18:32:51 UTC+1, (inconnu) a écrit : >> >> Hello Justin, >> >> The externals refer to the same repo. I never mix several repos in one >> commit. I should have mentioned this, sorry. >> >> Case a) works as expected. No issue here. >> >> In case b) the commit includes changes only in files pulled in via >> externals (from the same repo), but does not include changes in local >> files. In this case the log on the top level dir does not show the changes >> in the externals. >> >> Let me try to give an example: >> >> /lib >> lib.cpp >> >> /trunk svn:externals=^/lib lib >> local.cpp >> lib >> lib.cpp >> >> My working copy (wc) is created from trunk. >> >> In case a) I modify local.cpp and lib.cpp and do a commit on the >> top-level wc dir (trunk). Then I check the log on that wc dir and it shows >> one commit with changes in both files. >> >> In case b) I modify lib.cpp only and do a commit. The log for the >> top-level wc dir does not show this commit at all. That's the issue. >> >> When I check the log on /lib in the repo, or on the lib subdir in my wc, >> it shows the lib.cpp commit of course. But I would expect that the log for >> my top-level wc dir shows all changes that happend to any files in that wc >> tree. This works in case a) but not in b) which is not consistent at least. >> >> Udo >> >> >> On Saturday, February 1, 2020 at 10:35:18 AM UTC+1, Justin MASSIOT wrote: >>> >>> Hello Udo, >>> What do you mean exactly by "a commit includes changes in externals >>> *only*" ? Did you check in both cases the logs from the folder of your >>> "external"? >>> >>> From what I understand, you're making a confusion between what belongs >>> to your main repository and what belongs to the external repositories. >>> Case a: your commit affects the main repo and the external repo. Thus >>> it's normal that you have this revision in your "main" log. (Not sure of >>> what I'm saying: I think this action creates 2 commits, one in each >>> repository.) >>> Case b: your commit only affects the external repo. This has nothing to >>> do with the main repo, that's why you don't see the commit in the log. >>> >>> Amongst things I've learned from other developers, it may not be a good >>> idea to mix up several repositories in a single commit like you did. This >>> brings confusion from the point of view of the external library. >>> >>> Justin >>> >>> Le vendredi 31 janvier 2020 09:28:49 UTC+1, (inconnu) a écrit : >>>> >>>> Hi, >>>> >>>> I have a source tree which contains files and also pulls in some stuff >>>> via externals property. When I show the change log on the top level source >>>> dir then I observe two cases: >>>> a) If a commit included changes in local files *and* externals then >>>> the log shows the commit and all affected local and external files as >>>> expected. >>>> b) If a commit includes changes in externals *only* then the log does >>>> not show the commit at all. So the change log is incomplete. >>>> >>>> I consider case b) a bug because the log is misleading. To me, this >>>> issue caused confusion several times. >>>> >>>> Thanks. >>>> Udo >>>> >>>> -- You received this message because you are subscribed to the Google Groups "TortoiseSVN" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tortoisesvn/2f9a8c92-a314-434f-bdb6-06b0ecef5949%40googlegroups.com.
