I don't see anything actionable in this thread. What can we do to move this forward? Is it only up to Dale to change the behavior?
Can we have some workaround? E.g. syncing in the background at regular intervals so when I want to commit I am not blocked by it? Because it doesn't always check the repos, and I don't see what is the actual trigger. Peter On Sun, May 29, 2016 at 02:28:48PM +0200, Thierry Goubier wrote: > Le 29/05/2016 14:04, Peter Uhnak a écrit : > > On Sun, May 29, 2016 at 11:21:21AM +0200, Thierry Goubier wrote: > > > Le 29/05/2016 11:15, Peter Uhnák a écrit : > > > > > All this is so that my .5 would not conflict with someone else .5 > > > > > > > > How is this a problem? Because it will be "Me.5" and "You.5", so there > > > > can't be any conflict. > > > > > > Me.5 and Me.5 are possible... > > > > > > Think of numbering your own stuff on two different branches. > > > > > > More, Metacello depends on Me.5 5 to be greater than You.5 5 for some of > > > the > > > baselines / configurations to work properly :) > > > > Can't it use the ancestry to decide? > > I suggested that to Dale... Disregard version numbers, only consider as > newer if the other is in the ancestry chain. > > Would also be a lot more precise, because we would then use the package > version UID instead of the name.version number approximation which can leads > to failures or loading the wrong package in some cases. > > > Because my impression is from this that merges are naive, compared to > > git which actually checks the ancestry of both up the common endpoint > > and diffs based on that. > > This does not describe the Monticello merges. Monticello merges do walk the > ancestry chain to find a common ancestor and does a three way merge, as git > does. > > The problem is that the Monticello ancestry chain is often damaged for three > reasons: removing part of it to reduce memory usage (Done for the Pharo3 > release), removing all or part of it because your package ancestry chain is > too long (I remember seeing some packages doing that on purpose?), the > common ancestor doesn't exist anymore in the repositories visible to > Monticello (long-lived packages that have moved between repositories, > typically). > > When Monticello sees a version in the history, it expects the full package > to be available in the repositories; if this package is the common ancestor > of the merge and can't be retrieved, then the merge will fail. > > What GitFileTree/git does there is to ensure that if a version is in the > ancestry, it can be retrieved. Git merge also use that property. Any > GitFileTree-like layer would provide the same property (FossilFileTree, for > example). > > Note: in the git documentation, it is stated that git may create virtual > ancestors in some cases, to simplify/reduce the merge work. In such cases, > if set up, the gitfiletree merge driver will be called for all those merges > (i.e. a single merge in git may trigger multiple merges). > > Obvious, isn't it ;) > > Thierry > > > Peter > > > > > > > > Thierry > > > > > > > > > > > Peter > > > > > > > > On Sun, May 29, 2016 at 10:37 AM, Sven Van Caekenberghe <s...@stfx.eu > > > > <mailto:s...@stfx.eu>> wrote: > > > > > > > > > > > > > On 29 May 2016, at 10:28, Holger Freyther <hol...@freyther.de > > > > <mailto:hol...@freyther.de>> wrote: > > > > > > > > > > > > > > >> On 29 May 2016, at 09:58, Sven Van Caekenberghe <s...@stfx.eu > > > > <mailto:s...@stfx.eu>> wrote: > > > > >> > > > > >> > > > > >>> > > > > >>> For some reason the package manager is refreshing all > > > > packages. I don't know why it happens, and it's quite annoying (because > > > > it slows down commits), but it doesn't cause any actual problems, so > > > > don't worry about it too much. > > > > >> > > > > >> As I understand it, what happens is the following: before you > > > > commit to your MC repo, you have to find the next version number; a > > > > check is then done in all relevant repos; the cached content is not > > > > used, but an actual refresh is done. All this is so that my .5 would > > > > not conflict with someone else .5 - the chance that this happens is > > > > very small, and the check does not really prevent it. > > > > > > > > > > I assumed that but can it be limited to the Repositories that > > > > are associated with the package? I am afraid that next time I travel I > > > > can not commit to my local repository (and ofcourse the speed part). :) > > > > > > > > We should go one step further: add an option to totally disable > > > > this > > > > check to go outside the target repo, it makes little sense. But MC > > > > is a complex beast ... > > > > > > > > > holger > > > > > > > > > > > > > > > > > > > > > > > >