Hi David, > On Jan 29, 2016, at 2:45 PM, David Allouche <[email protected]> wrote: > > Thanks Dale for all the explanations. > > How Monticello and version control relate in the big picture is starting to > make sense for me. > > Now, I better understand why filetree ended up uses a file-per-method format, > even though that is relatively hostile to git user interfaces optimised for > other languages. There is really a need for a file-per-class exchange format, > because that would works a lot better with the existing VCS ecosystem.
I agree so strongly. Class file outs which are eg sorted by selector make much more sense. They won't hit the file name length limit. They make it trivial to maintain method and class comment time stamps. They're easier to construct into snapshots because it's easier to decode the file name. And then it's easy to add files for package load/unload scripts and for the history. And then one is much more decoupled from the specific back end. It could be mercurial just as easily as git. > I think more package-based user interfaces would indeed be a very good idea, > for browsing and for source code management. > > Stef, I have the impression you think that git is popular because it is a new > shiny toy. I disagree with this idea. Git is a typical worse-is-better tool. > It's good enough for most people, but it still has many shortcomings. It is > popular in spite of its shortcomings. It became popular as destination for > projects shifting from CVS and Subversion. So it is unlikely to be displaced > by a newer, incrementally shinier tools. Anything that will displace it will > have to provide an improvement of a similar magnitude as the jump between > centralised and distributed version control. This is a good analysis. What's valuable to the Pharo community is not displacing an already functional dvcs (Monticello) with an ill-suited one (git), but in being able to function in ecosystems like github where people can display their identity and where infrastructure for bug reports etc exist. > Still, I think it's a good idea not to restrict high level models to what git > provides if that's a less than ideal fit to the image model. Absolutely. Dale's talk of ditching Monticello metadata fills me with repulsion and makes me want to ask is he trying to sabotage or what? It seems entirely destructive. We have a functional package manager which currently supports interchange between Pharo, Squeak and Cuis, something that I think is very important and valuable. We should have the confidence to improve on it and work on exchanging improvements between the dialects. For example Bert Freudenburg recently extended the commit dialog with the ability to mark changes to ignore, which are then /not/ committed, which makes it possible to maintain a few of one's favorite image mods without the tedium of reverting them (or whatever other Sisyphean means) to commit from ones work image. > I have a lot of ideas to improve browsing and source code management in > Pharo. I can make no promises, but I would like to produce something there. Good luck in your efforts. _,,,^..^,,,_ (phone) Best, Eliot
