For whose what care:
I don't have cable modem for a week because some accident broke lines in my building. This morning I load what seems the last image, 7006, and still I must wait loooooong time to download a entire system. The walbacks seems more as usual, perhaps many untested code into ? But what really upset me is trivial things what I use are vanished. As hex method for Integer (I have it in 6705, the last what I use for serious things). Is trivial copy and have it again in 7006 for me , but please don't do this or people lost faith in who are building the images. Edgar , Advocatus Diaboli 9 March 2006 3:44:24 pm VM: Mac OS - a SmalltalkImage Image: Squeak3.9alpha [latest update: #7006] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006:STEG Trusted Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006 Untrusted Dir Discovery:Users:admin:Library:Preferences:Squeak:Internet:My Squeak SmallInteger(Object)>>doesNotUnderstand: #hex Receiver: 115 Arguments and temporary variables: aMessage: hex Receiver's instance variables: 115 Character>>hex Receiver: $s Arguments and temporary variables: Receiver's instance variables: value: 115 [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]} Arguments and temporary variables: password: 'squeak' strm: a WriteStream '' ea: $s ByteString(SequenceableCollection)>>do: Receiver: 'squeak' Arguments and temporary variables: aBlock: [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]} index: 1 indexLimiT: 6 Receiver's instance variables: 'squeak' --- The full stack --- SmallInteger(Object)>>doesNotUnderstand: #hex Character>>hex [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]} ByteString(SequenceableCollection)>>do: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [] in KomAuthDb>>encode: {[:strm | password do: [:ea | strm nextPutAll: ea hex]]} String class(SequenceableCollection class)>>streamContents: KomAuthDb>>encode: KomAuthDb>>addUser:withPassword: TEGServerRoot>>startOn:mode: HVTEG class(HVHttpView class)>>startOn:mode: HVTEG class(HVHttpView class)>>startDebugOn: HVTEG class>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class evaluatorClass new evaluate: self selectionAsStream in: ctxt...]} BlockContext>>on:do: TextMorphEditor(ParagraphEditor)>>evaluateSelection [] in BrowserCommentTextMorph(PluggableTextMorph)>>doIt {[textMorph editor evaluateSelection]} [] in BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit: {[result _ editBlock value]} TextMorphForEditView(TextMorph)>>handleEdit: BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit: BrowserCommentTextMorph(PluggableTextMorph)>>doIt Browser(StringHolder)>>perform:orSendTo: [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount _ selector numArgs) = 0 ifTrue: [target perform: selector] ...]} BlockContext>>ensure: CursorWithMask(Cursor)>>showWhile: MenuItemMorph>>invokeWithEvent: MenuItemMorph>>mouseUp: MenuItemMorph>>handleMouseUp: MouseButtonEvent>>sentTo: MenuItemMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: MenuItemMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: MenuMorph(Morph)>>processEvent:using: MenuMorph(Morph)>>processEvent: MenuMorph>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand _ self. ActiveEvent _ anEvent. result _ focusHolder handle...]} [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} BlockContext>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand _ h. h processEvents. capturingGesture _ capturingGestur...]} Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: WorldState>>doOneSubCycleFor: PasteUpMorph>>doOneSubCycle MenuMorph>>invokeModalAt:in:allowKeyboard: MenuMorph>>invokeModal: MenuMorph>>invokeModal BrowserCommentTextMorph(PluggableTextMorph)>>scrollBarMenuButtonPressed: BrowserCommentTextMorph(ScrollPane)>>vScrollBarMenuButtonPressed: [] in ScrollBar>>menuButtonMouseDown: {[:sel | menuSelector _ sel. model perform: sel with: event]} ScrollBar(MorphicModel)>>use:orMakeModelSelectorFor:in: -- and more not shown -- ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar |
On 09.03.2006, at 19:46, Lic. Edgar J. De Cleene wrote: > For whose what care: > > I don't have cable modem for a week because some accident broke > lines in my > building. > > This morning I load what seems the last image, 7006, and still I > must wait > loooooong time to download a entire system. > So maybe we should stop developing Squeak, then you wouldn't need to dowload anything. > The walbacks seems more as usual, perhaps many untested code into ? > 3.9a is *alpha*. (I think I explained that to you already...). The term "alpha" means exactly that: "please be aware: untested code, more walkback than in the debugged 3.8". > But what really upset me is trivial things what I use are vanished. Of you find problems with the current alpha version, please fill out a bug report in the bug tracker: http://bugs.impara.de/view_all_bug_page.php > Is trivial copy and have it again in 7006 for me , but please don't > do this > or people lost faith in who are building the images. Thanks a lot for your kind words! Marcus |
Marcus Denker puso en su mail :
> So maybe we should stop developing Squeak, then you wouldn't need to > dowload > anything. Maybe you could do better ?. If you think all works , I sorry say not. ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar |
On 09.03.2006, at 20:26, Lic. Edgar J. De Cleene wrote: > Marcus Denker puso en su mail : > >> So maybe we should stop developing Squeak, then you wouldn't need to >> dowload >> anything. > Maybe you could do better ?. > It is always possible to do better. And the idea of why we work on Squeak is to actually do better. If Squeak would be perfect, we would not need to work on it. Especially 3.9a can not be perfect, as it is, hey, in alpha... it's *supposed* to be buggy. And everyone is happy when you report a bug. Really! Because only then it will be fixed. But that's not possible if you insult me personaly everytime you find a bug in 3.9a. Again: the "a" in 3.9a stands for "alpha", which means that we have told you that you will find bugs... > If you think all works , I sorry say not. > No, I don't think that everything works. To repeat again: If everything would work, it would not be *alpha*. The idea is that people who download the alpha version know that there will be bugs (most people downloading alpha do it actually to help testing it...). And then, when they find bugs, they are kind of happy and report them with good mood (without insulting everyone) so that they can be fixed. Marcus |
Marcus Denker puso en su mail :
> > But that's not possible if you insult me personaly everytime you find > a bug > in 3.9a. Appollogize. I do not wish insult you or any person on Earth. I know you are a great Squeaker and a super worker.!! I only wish you read what I saying and what many don't . I could do not send the "offensive" mail and maybe pass a long time until this trivial bug was discovered and fixed. I on the alpha edge enough time to like it, maybe sign of a psychological disorder, cant fix most walkback myself and tired of burocracy, is enough all around me. So , as I really appreciate you and your work, next walkback I found I try to fix and send walback and fix to Mantis. By the way , in previous image say hex was deprecated for Integer, was is a inconsistent if still exist in Character and others classes, all hex should go deprecated or Integer hex resurrected. I vote for hex resurrected. Edgar ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar |
In reply to this post by Edgar J. De Cleene
Please see http://bugs.impara.de/view.php?id=987
Ken On Thu, 2006-03-09 at 15:46 -0300, Lic. Edgar J. De Cleene wrote: > For whose what care: > > I don't have cable modem for a week because some accident broke lines in my > building. > > This morning I load what seems the last image, 7006, and still I must wait > loooooong time to download a entire system. > > The walbacks seems more as usual, perhaps many untested code into ? > > But what really upset me is trivial things what I use are vanished. > > As hex method for Integer (I have it in 6705, the last what I use for > serious things). > > Is trivial copy and have it again in 7006 for me , but please don't do this > or people lost faith in who are building the images. > > Edgar , Advocatus Diaboli > > > 9 March 2006 3:44:24 pm > > VM: Mac OS - a SmalltalkImage > Image: Squeak3.9alpha [latest update: #7006] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006:STEG > Trusted Dir Discovery:Users:admin:SqueakDevelop:Squeak3.9a-7006 > Untrusted Dir Discovery:Users:admin:Library:Preferences:Squeak:Internet:My > Squeak > > SmallInteger(Object)>>doesNotUnderstand: #hex > Receiver: 115 > Arguments and temporary variables: > aMessage: hex > Receiver's instance variables: > 115 > > Character>>hex > Receiver: $s > Arguments and temporary variables: > > Receiver's instance variables: > value: 115 > > [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]} > Arguments and temporary variables: > password: 'squeak' > strm: a WriteStream '' > ea: $s > > ByteString(SequenceableCollection)>>do: > Receiver: 'squeak' > Arguments and temporary variables: > aBlock: [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea > hex]} > index: 1 > indexLimiT: 6 > Receiver's instance variables: > 'squeak' > > > --- The full stack --- > SmallInteger(Object)>>doesNotUnderstand: #hex > Character>>hex > [] in KomAuthDb>>encode: {[:ea | strm nextPutAll: ea hex]} > ByteString(SequenceableCollection)>>do: > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > [] in KomAuthDb>>encode: {[:strm | password do: [:ea | strm nextPutAll: ea > hex]]} > String class(SequenceableCollection class)>>streamContents: > KomAuthDb>>encode: > KomAuthDb>>addUser:withPassword: > TEGServerRoot>>startOn:mode: > HVTEG class(HVHttpView class)>>startOn:mode: > HVTEG class(HVHttpView class)>>startDebugOn: > HVTEG class>>DoIt > Compiler>>evaluate:in:to:notifying:ifFail:logged: > [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class > evaluatorClass new evaluate: self selectionAsStream in: ctxt...]} > BlockContext>>on:do: > TextMorphEditor(ParagraphEditor)>>evaluateSelection > [] in BrowserCommentTextMorph(PluggableTextMorph)>>doIt {[textMorph editor > evaluateSelection]} > [] in BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit: {[result _ > editBlock value]} > TextMorphForEditView(TextMorph)>>handleEdit: > BrowserCommentTextMorph(PluggableTextMorph)>>handleEdit: > BrowserCommentTextMorph(PluggableTextMorph)>>doIt > Browser(StringHolder)>>perform:orSendTo: > [] in MenuItemMorph>>invokeWithEvent: {[(selArgCount _ selector numArgs) = 0 > ifTrue: [target perform: selector] ...]} > BlockContext>>ensure: > CursorWithMask(Cursor)>>showWhile: > MenuItemMorph>>invokeWithEvent: > MenuItemMorph>>mouseUp: > MenuItemMorph>>handleMouseUp: > MouseButtonEvent>>sentTo: > MenuItemMorph(Morph)>>handleEvent: > MorphicEventDispatcher>>dispatchDefault:with: > MorphicEventDispatcher>>dispatchEvent:with: > MenuItemMorph(Morph)>>processEvent:using: > MorphicEventDispatcher>>dispatchDefault:with: > MorphicEventDispatcher>>dispatchEvent:with: > MenuMorph(Morph)>>processEvent:using: > MenuMorph(Morph)>>processEvent: > MenuMorph>>handleFocusEvent: > [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand _ self. ActiveEvent > _ anEvent. result _ focusHolder handle...]} > [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} > BlockContext>>on:do: > PasteUpMorph>>becomeActiveDuring: > HandMorph>>sendFocusEvent:to:clear: > HandMorph>>sendEvent:focus:clear: > HandMorph>>sendMouseEvent: > HandMorph>>handleEvent: > HandMorph>>processEvents > [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand _ h. h > processEvents. capturingGesture _ capturingGestur...]} > Array(SequenceableCollection)>>do: > WorldState>>handsDo: > WorldState>>doOneCycleNowFor: > WorldState>>doOneCycleFor: > WorldState>>doOneSubCycleFor: > PasteUpMorph>>doOneSubCycle > MenuMorph>>invokeModalAt:in:allowKeyboard: > MenuMorph>>invokeModal: > MenuMorph>>invokeModal > BrowserCommentTextMorph(PluggableTextMorph)>>scrollBarMenuButtonPressed: > BrowserCommentTextMorph(ScrollPane)>>vScrollBarMenuButtonPressed: > [] in ScrollBar>>menuButtonMouseDown: {[:sel | menuSelector _ sel. model > perform: sel with: event]} > ScrollBar(MorphicModel)>>use:orMakeModelSelectorFor:in: > -- and more not shown -- > > > > > > > > ___________________________________________________________ > 1GB gratis, Antivirus y Antispam > Correo Yahoo!, el mejor correo web del mundo > http://correo.yahoo.com.ar > > > signature.asc (196 bytes) Download Attachment |
In reply to this post by Edgar J. De Cleene
On 09.03.2006, at 21:15, Lic. Edgar J. De Cleene wrote: > > I could do not send the "offensive" mail and maybe pass a long time > until > this trivial bug was discovered and fixed. > Yes. So do you propose everyone should now start to write mails in your style? Will this improve the time it takes to have bugs fixed or will this make everyone just leave the community? > > By the way , in previous image say hex was deprecated for Integer, > was is a > inconsistent if still exist in Character and others classes, all > hex should > go deprecated or Integer hex resurrected. > Yes, it was deprecated in 3.8 And we remove deprecated method *by default* one version later. So the whole problem was not caused done by the 3.9a release team. It was a side effect that would habe happened regardless of the person doing 3.9a. So after removing deprecations, Of course, it can happen that then we find out that in some cases, we should retain the deprecated methods another release, or that the deprecation was actually a bad idea. This could well be the case with #hex. > I vote for hex resurrected. So why didn't you write a mail that explained that nicely? Yes, it takes a long time to get changes in the release. But this is not the fault of those few who are crazy enough to try to improve Squeak... so I don't see how making those few feel miserable will help getting fixes accepted faster. Maybe I should just stop... in the end, what use it all that work? It's only making everyones live harder. We should have declared Squeak to be "untouchable" with 3.5, closed the project and moved on. Marcus |
Just wanted to say:
Keep it up Marcus. You are currently topping my list of Squeak heros. Really. We all know that the current setup is suffering badly from the current tool support. What we desperately need to do is of course to: 1. Fix the tool situation. If that means moving to something different or just get MC fixed in various ways, I dunno. I have a hackish idea that I am playing with a bit - see below. 2. Get the Teams rolling. I intend to get my ass into the I/O team, but... well, there are so many things to do. Ok, so my idea on the tools situation is a drastic one - but possibly interesting enough (and fun) to at least play around with: I use darcs (www.darcs.net) for all my non-Squeak projects. It is a truly remarkable distributed SCM which is one of the few SCMs totally focused around "patches" (think ChangeSets). It has fantastic merging capacities, patch-dependency resolution and above all - it offers "cherry picking". IMHO it is the most advanced SCM out there at the moment. Anyway, it is hard to explain - but it rocks. And Slate uses it btw. :) So my idea is this: - Bring back MonticelloCVS into life but hack it to use Darcs instead. - Possibly align the Darcs patches with ChangeSets. So when you "pull" patches from a repo you could pull one at a time, synch with Squeak and produce a ChangeSet for each. - Possibly rewrite ChangeSet so that it is less brainless. IMHO it should actually *contain* the methods and not just point to the current method. The vision is this: - You point your MonticelloDarcs to x number of Darcs repos. A darcs repo is just a http/ftp area (if you run readonly). - You "pull" patches and darcs interactively asks which ones you want to pick. You can cherry pick only the ones you want and darcs will pull any dependent patches as needed! - When you work you can use the changesorters to rearrange/group your edits (just as in the old days, kinda) and then you "record" selected changesets into the darcs repo. - You push selected patches to other repos - typically we use a similar approach that MC has with repos associated with packages etc. This is kinda like a new breed of "update streams", but working in harmony with MC, reviving ChangeSets (because they are nice - if we improve them just a teeny bit) and piggybacking on the very advanced capabilities of darcs (patch dependencies, magical merges etc). Well, it is just an idea. Possibly this can be used in harmony with MC - after all - both setups use PI as package boundary. MC could be used to produce "snapshots" for distribution on SqueakMap or just as baselines. Ok, over and out. I am sure that Avi, Bert, Colin or any other MC gurus can help us shoot this idea down. :) regards, Göran PS. I have successfully used netcat (an external small program) and SocketStream in order to communicate with the stdin/stdout of darcs. Darcs goes into interactive mode for the more complex commands and this works out great. AFAIK OSProcess doesn't support stdin/out, at least not on Win32. |
[hidden email] puso en su mail :
> I use darcs (www.darcs.net) for all my non-Squeak projects. It is a > truly remarkable distributed SCM which is one of the few SCMs totally > focused around "patches" (think ChangeSets). It has fantastic merging > capacities, patch-dependency resolution and above all - it offers > "cherry picking". IMHO it is the most advanced SCM out there at the > moment. > > Anyway, it is hard to explain - but it rocks. And Slate uses it btw. :) > > So my idea is this: > > - Bring back MonticelloCVS into life but hack it to use Darcs instead. > - Possibly align the Darcs patches with ChangeSets. So when you "pull" > patches from a repo you could pull one at a time, synch with Squeak and > produce a ChangeSet for each. > - Possibly rewrite ChangeSet so that it is less brainless. IMHO it > should actually *contain* the methods and not just point to the current > method. > > The vision is this: > > - You point your MonticelloDarcs to x number of Darcs repos. A darcs > repo is just a http/ftp area (if you run readonly). > - You "pull" patches and darcs interactively asks which ones you want to > pick. You can cherry pick only the ones you want and darcs will pull any > dependent patches as needed! > - When you work you can use the changesorters to rearrange/group your > edits (just as in the old days, kinda) and then you "record" selected > changesets into the darcs repo. > - You push selected patches to other repos - typically we use a similar > approach that MC has with repos associated with packages etc. > > This is kinda like a new breed of "update streams", but working in > harmony with MC, reviving ChangeSets (because they are nice - if we > improve them just a teeny bit) and piggybacking on the very advanced > capabilities of darcs (patch dependencies, magical merges etc). > > Well, it is just an idea. Possibly this can be used in harmony with MC - > after all - both setups use PI as package boundary. MC could be used to > produce "snapshots" for distribution on SqueakMap or just as baselines. This could be a solution to "all image each time" problem. As you are using it and a rapid view say it's implemented in Haskell, how much time you think could take implement in Squeak ? As I'm not only a compulsive complainer, if you have something at what could help with code or testing, let me know. Edgar ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar |
In reply to this post by Marcus Denker
:)
Apparently I'm not the only one to fall on my keyboard. Edgar, I suggest you to understand that sometimes your emails looks really aggressive. STef >> I could do not send the "offensive" mail and maybe pass a long >> time until >> this trivial bug was discovered and fixed. >> > > Yes. So do you propose everyone should now start to write mails > in your style? Will this improve the time it takes to have bugs fixed > or will this make everyone just leave the community? > >> >> By the way , in previous image say hex was deprecated for Integer, >> was is a >> inconsistent if still exist in Character and others classes, all >> hex should >> go deprecated or Integer hex resurrected. >> > > Yes, it was deprecated in 3.8 And we remove deprecated method *by > default* > one version later. > > So the whole problem was not caused done by the 3.9a release team. > It was > a side effect that would habe happened regardless of the person > doing 3.9a. > > So after removing deprecations, Of course, it can happen that then > we find out > that in some cases, we should retain the deprecated methods > another release, > or that the deprecation was actually a bad idea. This could well be > the case > with #hex. > >> I vote for hex resurrected. > > So why didn't you write a mail that explained that nicely? Yes, it > takes a long > time to get changes in the release. But this is not the fault of > those few who > are crazy enough to try to improve Squeak... so I don't see how > making those > few feel miserable will help getting fixes accepted faster. > > Maybe I should just stop... in the end, what use it all that work? > It's only making > everyones live harder. We should have declared Squeak to be > "untouchable" > with 3.5, closed the project and moved on. > > Marcus > |
In reply to this post by Edgar J. De Cleene
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 On 2006-Mar-10, at 09:18 , Lic. Edgar J. De Cleene wrote: > [hidden email] puso en su mail : > >> I use darcs (www.darcs.net) for all my non-Squeak projects. It is a >> truly remarkable distributed SCM which is one of the few SCMs totally > [snip] > This could be a solution to "all image each time" problem. > As you are using it and a rapid view say it's implemented in > Haskell, how > much time you think could take implement in Squeak ? I've looked at the darcs source, and gone to the extent of learning to read Haskell in order to figure it out. Re-implementing darcs in Squeak would be be a big job. Not just because Haskell has a very concise syntax (which would probably lead to considerable code expansion), but also because darcs is a big program. The automatic merger at the heart of darcs is just not a simple thing to do. Despite all that, I use darcs almost exclusively for my non-squeak programming and I love it. If Goran can find a way to make use of the Haskell version that would really be wonderful! > > As I'm not only a compulsive complainer, if you have something at > what could > help with code or testing, let me know. > > Edgar > PS - apologies to the list moderator(s). I use a forwarding account to receive all my mail, and I can't make anything I send look like it "came" from the forwarding email address. This means anything I send looks like it is coming from "outside" the list :(. - -- Tom Rushworth GPG: DF93 C92A A27C 7AC7 FE06 CF14 F61C 6CFA F7E8 F81C -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iD8DBQFEE0Q19hxs+vfo+BwRAr0GAKD5C0CO2E3KoCjSZtVFbd22tgKWUACgh0GN iHSKxW3Ii5CQkhTSpNXvrX0= =o5jX -----END PGP SIGNATURE----- |
On Mar 11, 2006, at 1:41 PM, Tom Rushworth wrote: > > I've looked at the darcs source, and gone to the extent of learning > to read > Haskell in order to figure it out. Re-implementing darcs in Squeak > would be > be a big job. Not just because Haskell has a very concise syntax > (which would > probably lead to considerable code expansion), but also because > darcs is a big > program. The automatic merger at the heart of darcs is just not a > simple thing > to do. I looked into darcs fairly deeply when Colin and I were designing Monticello 2. Most of the complexity (and almost all of the need for the "theory of patches") comes from: a) Darcs is versioning arbitrary text files, which don't have obvious semantic units, and thus b) for any version of a given semantic unit in the code base, there's no way to know exactly which previous versions it was derived from The fancy stuff in Darcs is really just a way of reverse engineering that information. In Smalltalk, since we know the semantic units (classes/methods), we can record precise ancestry information for them directly, and have a *much* simpler merge algorithm that is just as effective. To put it another way, using the Darcs automatic merge algorithms on file-outs of Smalltalk code is like dubbing your CDs to audio cassette and then running them through a *really good* noise filter to get rid of the tape hiss. It's unfortunate that Monticello 2 has languished in the designed-and- half-implemented phase for so long (about 2 years now I think), because I do think it's a good model. It seems to be a case of "eating your children" - Monticello as it stands now is just barely good enough that there hasn't been a compelling enough itch to force us to finish v2. But feel free to encourage us in whatever way seems appropriate :) Avi |
On 11-Mar-06, at 1:59 PM, Avi Bryant wrote: > > But feel free to encourage us in whatever way seems appropriate :) Hmm, as a first attempt, please consider yourselves encouraged through the medium of my best English Schoolmaster Look Of Disdain At The Boy That Didn't Finish His Homework. You know you want to do it. You know we want you to do it. I would suggest (in my role as Official Spokesmodel for the All-powerful Board of the Squeak Foundation) that the foundation find some money to sweeten the stick but to be honest any amount we could plausibly come up with would be so little as to not even be insulting. If we were still in the Good Old Days of infinite money (like say, Interval Research) I'd be demanding that we hire you to do it. But we're not and I can't. Dang. tim -- tim Rowledge; [hidden email]; http://www.rowledge.org/tim Useful random insult:- Doesn't just know nothing; doesn't even suspect much. |
Hi avi
We used MC (successfully) so of course we put less pressure on MC2 but at the same time now we know that this is the future :). Could you let us know if you have a roadmap for MC2. Will you and colin allocate time for that? We could set up a bounty system for MC2. As tim mentioned this can be little but symbolic :). But I think that this is ***really*** important. May be other people may join the effort (goran?). Stef >> But feel free to encourage us in whatever way seems appropriate :) > Hmm, as a first attempt, please consider yourselves encouraged > through the medium of my best English Schoolmaster Look Of Disdain > At The Boy That Didn't Finish His Homework. > > You know you want to do it. You know we want you to do it. I would > suggest (in my role as Official Spokesmodel for the All-powerful > Board of the Squeak Foundation) that the foundation find some money > to sweeten the stick but to be honest any amount we could plausibly > come up with would be so little as to not even be insulting. If we > were still in the Good Old Days of infinite money (like say, > Interval Research) I'd be demanding that we hire you to do it. But > we're not and I can't. Dang. > > tim > -- > tim Rowledge; [hidden email]; http://www.rowledge.org/tim > Useful random insult:- Doesn't just know nothing; doesn't even > suspect much. > > > |
In reply to this post by Göran Krampe
goran
I read the darcs manual in diagonal and got lost. Do you know if there is a place where I can find a scenario like: cd toto cvs import toto ducasse 1 cd ../ mv toto totoOld cvs co toto ... cvs update cvs commit :) On 10 mars 06, at 08:23, [hidden email] wrote: > Just wanted to say: > > Keep it up Marcus. You are currently topping my list of Squeak heros. > Really. > > We all know that the current setup is suffering badly from the current > tool support. What we desperately need to do is of course to: > > 1. Fix the tool situation. If that means moving to something > different > or just get MC fixed in various ways, I dunno. I have a hackish idea > that I am playing with a bit - see below. > > 2. Get the Teams rolling. I intend to get my ass into the I/O team, > but... well, there are so many things to do. > > > Ok, so my idea on the tools situation is a drastic one - but possibly > interesting enough (and fun) to at least play around with: > > I use darcs (www.darcs.net) for all my non-Squeak projects. It is a > truly remarkable distributed SCM which is one of the few SCMs totally > focused around "patches" (think ChangeSets). It has fantastic merging > capacities, patch-dependency resolution and above all - it offers > "cherry picking". IMHO it is the most advanced SCM out there at the > moment. > > Anyway, it is hard to explain - but it rocks. And Slate uses it > btw. :) > > So my idea is this: > > - Bring back MonticelloCVS into life but hack it to use Darcs > instead. > - Possibly align the Darcs patches with ChangeSets. So when you > "pull" > patches from a repo you could pull one at a time, synch with Squeak > and > produce a ChangeSet for each. > - Possibly rewrite ChangeSet so that it is less brainless. IMHO it > should actually *contain* the methods and not just point to the > current > method. > > The vision is this: > > - You point your MonticelloDarcs to x number of Darcs repos. A darcs > repo is just a http/ftp area (if you run readonly). > - You "pull" patches and darcs interactively asks which ones you > want to > pick. You can cherry pick only the ones you want and darcs will > pull any > dependent patches as needed! > - When you work you can use the changesorters to rearrange/group your > edits (just as in the old days, kinda) and then you "record" selected > changesets into the darcs repo. > - You push selected patches to other repos - typically we use a > similar > approach that MC has with repos associated with packages etc. > > This is kinda like a new breed of "update streams", but working in > harmony with MC, reviving ChangeSets (because they are nice - if we > improve them just a teeny bit) and piggybacking on the very advanced > capabilities of darcs (patch dependencies, magical merges etc). > > Well, it is just an idea. Possibly this can be used in harmony with > MC - > after all - both setups use PI as package boundary. MC could be > used to > produce "snapshots" for distribution on SqueakMap or just as > baselines. > > Ok, over and out. I am sure that Avi, Bert, Colin or any other MC > gurus > can help us shoot this idea down. :) > > regards, Göran > > PS. I have successfully used netcat (an external small program) and > SocketStream in order to communicate with the stdin/stdout of darcs. > Darcs goes into interactive mode for the more complex commands and > this > works out great. AFAIK OSProcess doesn't support stdin/out, at > least not > on Win32. > |
Go to the darcs community wiki:
http://darcs.net/DarcsWiki and look for the section titled: Darcs for Converts (about the middle of the first page). There are a number of pages dealing with CVS and darcs. On 2006-Mar-12, at 01:17 , stéphane ducasse wrote: > goran > > I read the darcs manual in diagonal and got lost. > Do you know if there is a place where I can find a scenario like: > > cd toto > cvs import toto ducasse 1 > cd ../ > mv toto totoOld > cvs co toto > ... > cvs update > cvs commit > > :) > |
In reply to this post by stéphane ducasse-2
Hi!
=?ISO-8859-1?Q?st=E9phane_ducasse?= <[hidden email]> wrote: > goran > > I read the darcs manual in diagonal and got lost. You did? I found the "Getting started" pretty easy: http://www.darcs.net/manual/node4.html > Do you know if there is a place where I can find a scenario like: > > cd toto > cvs import toto ducasse 1 > cd ../ > mv toto totoOld > cvs co toto > ... > cvs update > cvs commit > > :) Well I think you find this info in the above link but essentially a rough equivalent of the above (if I grokked what you wanted to do) would be: 1.mkdir toto 2.cd toto 3.darcs init 4.cp ../orig/* . 5.darcs record -l 6.cd .. 7.mv toto totoOld 8.darcs get totoOld toto 9.cd toto 10...(edit a file in toto)... 11.darcs whatsnew -s 12.cd ../totoOld 13...(edit a file in totoOld)... 14.darcs record 15.cd ../toto 16.darcs pull ../totoOld 17.darcs record 18.darcs push ../totoOld Lines described: 3: Turns the directory "toto" into a darcs repository. It only creates a dir called "_darcs" on the top level - the rest is untouched and is your "working copy". 4: We "import" another file tree into this repo. But nothing is recorded yet. 5: Record a patch, "-l" means "look for adds". This will create a single patch creating the whole file tree. 7: Move the repo to another place in the filesystem, no problem. 8: Create a "checkout" of the old repo. This creates a new repo with all patches in the old repo. 11: Show in summary "-s" mode what local changes there are. 14. Record a new patch in the old repo. It will interactively ask you stuff to do it. 16. This is the equivalent of "cvs update" - we pull patches from another repo. The interesting part is that you can pull from ANY repo. 17. Record a change in the new repo. 18. This is the equivalent of "cvs commit" - we push patches from this repo to another repo. It is the reverse of pull. One thing you notice in the above is that work is being done in a "two step" way: - First you make all your edits in the file tree. Darcs detects adds/removes and edits, no need to use darcs commands! - Next you record your edits in one or several "patches". You don't need to record all edits in one patch (just like with CVS). The patches will be physically stored inside the top directory _darcs - Finally you push your patches to another repo. This means that you can actually record several patches locally and then later push them to a shared repo, or only push selected ones! You can also regret patches and revert them etc before pushing. Well, enough typing... Read the manual! :) regards, Göran |
Free forum by Nabble | Edit this page |