Future of SCM (was Re: [Pharo-project] [squeak-dev] Re: [Smalltalk
for small projects only?)
goran at krampe.se
Mon Jan 30 08:01:39 UTC 2012
On 01/30/2012 07:45 AM, Hans-Martin Mosner wrote:
> Am 30.01.2012 00:43, schrieb Göran Krampe:
>> And this is where the general future of SCM lies I think, in two areas:
>> - Making SCM tools aware of developer intent. If I use RB to do a refactoring for example, why not *record that* and
>> not just record the effects of the recactoring on the source code? If I rename a method in a class, and fix all
>> senders of it, why not record it as a *method rename*? That way, if it is merged into another environment it can be
>> handled much smarter and we could for example fix even more senders.
> Absolutely! Recording developer intent such as refactorings etc. would be a game-changer that has the potential to
> provide much better automatic merge support.
>> - Real time collaboration. If we can sit in a shared (in some controlled fashion) development environment in some kind
>> of real time model, then lots of merging and conflicts would just say PUFF and go up in smoke. We are beginning to see
>> this now with the new IDEs running "on the web" because suddenly it gets very natural to experiment in that direction.
> Real-time collaboration in the sense of getting code updates from other developers immediatedly is probably not very
> helpful, as it would distract a lot.
Code changes is one thing you probably want to *control* (which is why I
wrote "in some controlled fashion") but some examples of stuff you
really would like to get "immediately" are:
- Developer X is modifying "your" code. No, not committed yet - but
perhaps you should talk to X :)
- Visual queue/notification that developer X just managed to break your
- Developer X is right now writing new code that references classes that
you in turn have modified in your uncommitted code... or sending
messages whose implementations you in turn have modified in your
...and so on, there are numerous "tell tales" that there will be
interesting issues down the road - and these signals could be exposed to
the developers in various ways. Open your mind - it is not all about
sharing commits of code :)
More information about the Squeak-dev