Conflict inside derivable.slate

Paul Dufresne dufrp at hotmail.com
Thu Mar 17 13:20:02 PST 2005


Hi! I use three Slate repositories on my computer.
I have alpha which I normally don't touch.
And I have main, that I normally don't touch, but I keep synchronized
as much of possible. And finally my, where I do my changes, and from
which I pull from the local main.

Now, what puzzles me is that when I do a darcs whatsnew on main,
I get:
===
paul at arctanov:~/myslate/main $ darcs whatsnew
{
hunk ./src/lib/derivable.slate 109
+v v v v v v v
hunk ./src/lib/derivable.slate 111
-  newProto: (parents size = 1
-    ifTrue: [(parents at: 0) derive]
-    ifFalse: [(parents at: 0) derive &mixins: (parents allButFirst: 1)]).
+  newProto: ((parents at: 0) derive &mixins:
+    (parents size = 1 ifFalse: [parents allButFirst: 1])).
+*************
+  parents size = 0 ifTrue: [error: 'Parent objects must be supplied.'].
+  newProto: ((parents at: 0) derive &mixins:
+    (parents size = 1 ifFalse: [parents allButFirst: 1])).
+^ ^ ^ ^ ^ ^ ^
hunk ./src/lib/derivable.slate 122
-              unlessSatisfies: [| :old | old traitsWindow delegateValues
-                                  = newProto traitsWindow delegateValues]]
+              unlessSatisfies:
+                [| :old oldParents newParents |
+                 "Modified equality using == over each delegate pair."
+                 oldParents: old traitsWindow delegateValues.
+                 newParents: newProto traitsWindow delegateValues.
+                 oldParents size = newParents size
+                   /\ [oldParents keySet allSatisfy:
+                     [| :index | (oldParents at: index) == (newParents at: 
index)]]]]
hunk ./src/lib/derivable.slate 131
-  (x atSlotNamed: protoName)
-    `>> [addPrintName: protoName name.]
+  (x atSlotNamed: protoName) `>> [addPrintName: protoName name. ]
hunk ./src/lib/derivable.slate 135
-"Add a printName slot on the object's traitsWindow and its traits.
+"Add a printName slot on the object's traitsWindow and its traits.
hunk ./src/lib/derivable.slate 140
-
+
}
===

I have just darcs pull ../main in my 'my' directory.
At the end I saw that there were conflict in derivable.slate.
(They are now identical in my and main, the one included is from main).

Indeed I can see the conflict in the file, but I can't remember having open
this file. I really don't care about derivable.slate. I really would not 
have
done this changes. But there was a lot of changes made by
Brian in last few days on src/lib/derivable.slate.

Is any other seeing this with derivable?
Is it possible to pull a conflict, without me changing the file?
Also parts of the darcs whatsnew is not in the conflict zone.

While making my pull from local main to local my, I was
reading and copying patches in a file.
There was a lot of merge in there. Here is an extract:
===
paul at arctanov:~/myslate/my $ darcs pull ../main
Pulling from ../main...

Tue Mar 15 16:52:30 EST 2005  Brian T. Rice <water at tunes.org>
  * Added missing =/hash methods to Association.
Shall I pull this patch? (1/26) [ynWvxqdjk?] v
[Added missing =/hash methods to Association.
Brian T. Rice <water at tunes.org>**20050315215230] {
hunk ./src/lib/mapping.slate 25
+x@(Association traits) = y@(Association traits)
+[resend /\ [x value = y value]].
+
+x@(Association traits) hash
+[resend * x value hashMultiply].
+
}

Tue Mar 15 16:52:30 EST 2005  Brian T. Rice <water at tunes.org>
  * Added missing =/hash methods to Association.
Shall I pull this patch? (1/26) [ynWvxqdjk?] y

Tue Mar 15 19:34:07 EST 2005  Brian T. Rice <water at tunes.org>
  * Modifications to addPrototype:derivedFrom: for redefinitions.
Shall I pull this patch? (2/26) [ynWvxqdjk?] v
[Modifications to addPrototype:derivedFrom: for redefinitions.
Brian T. Rice <water at tunes.org>**20050316003407] {
hunk ./src/lib/derivable.slate 103
-  newProto: (parents size = 1
-    ifTrue: [(parents at: 0) derive]
-    ifFalse: [(parents at: 0) derive &mixins: (parents allButFirst: 1)]).
+  newProto: ((parents at: 0) derive &mixins:
+    (parents size = 1 ifFalse: [parents allButFirst: 1])).
hunk ./src/lib/derivable.slate 109
-              unlessSatisfies: [| :old | old traitsWindow delegateValues
-                                  = newProto traitsWindow delegateValues]]
+              unlessSatisfies:
+                [| :old oldParents newParents |
+                 "Modified equality using == over each delegate pair."
+                 oldParents: old traitsWindow delegateValues.
+                 newParents: newProto traitsWindow delegateValues.
+                 oldParents size = newParents size
+                   /\ [oldParents keys allSatisfy:
+                     [| :index | (oldParents at: index) == (newParents at: 
index)]]]]
hunk ./src/lib/derivable.slate 118
-  (x atSlotNamed: protoName)
-    `>> [addPrintName: protoName name.]
+  (x atSlotNamed: protoName) `>> [addPrintName: protoName name. ]
hunk ./src/lib/derivable.slate 127
-
+
}

Tue Mar 15 19:34:07 EST 2005  Brian T. Rice <water at tunes.org>
  * Modifications to addPrototype:derivedFrom: for redefinitions.
Shall I pull this patch? (2/26) [ynWvxqdjk?]









Thu Mar 10 16:57:07 EST 2005  Brian T. Rice <water at tunes.org>
  * Added &parents: to the addPrototype: method for derivables.
Shall I pull this patch? (4/26) [ynWvxqdjk?] v
[Added &parents: to the addPrototype: method for derivables.
Brian T. Rice <water at tunes.org>**20050310215707] {
hunk ./src/lib/derivable.slate 103
+  parents isEmpty ifTrue: [error: 'Parent objects must be supplied.'].
hunk ./src/lib/derivable.slate 129
-x@(Root traits) addPrototype: protoName
+x@(Root traits) addPrototype: protoName &parents: parents
hunk ./src/lib/derivable.slate 131
-[x addPrototype: protoName derivedFrom: {Cloneable}].
+[x addPrototype: protoName derivedFrom: (parents ifNil: [{Cloneable}])].
hunk ./src/lib/derivable.slate 147
-
}






Tue Mar 15 21:33:06 EST 2005  Brian T. Rice <water at tunes.org>
  * Modifications to addPrototype:derivedFrom: for redefinitions.
Shall I pull this patch? (5/26) [ynWvxqdjk?] v
[Modifications to addPrototype:derivedFrom: for redefinitions.
Brian T. Rice <water at tunes.org>**20050316023306] {
merger 0.0 (
hunk ./src/lib/derivable.slate 104
-  newProto: (parents size = 1
-    ifTrue: [(parents at: 0) derive]
-    ifFalse: [(parents at: 0) derive &mixins: (parents allButFirst: 1)]).
+  newProto: ((parents at: 0) derive &mixins:
+    (parents size = 1 ifFalse: [parents allButFirst: 1])).
hunk ./src/lib/derivable.slate 103
-  parents isEmpty ifTrue: [error: 'Parent objects must be supplied.'].
-  newProto: (parents size = 1
-    ifTrue: [(parents at: 0) derive]
-    ifFalse: [(parents at: 0) derive &mixins: (parents allButFirst: 1)]).
+  parents isEmpty ifTrue: [error: 'Parent objects must be supplied.'].
+  newProto: ((parents at: 0) derive &mixins:
+    (parents size = 1 ifFalse: [parents allButFirst: 1])).
)
merger 0.0 (
hunk ./src/lib/derivable.slate 111
-              unlessSatisfies: [| :old | old traitsWindow delegateValues
-                                  = newProto traitsWindow delegateValues]]
+              unlessSatisfies:
+                [| :old oldParents newParents |
+                 "Modified equality using == over each delegate pair."
+                 oldParents: old traitsWindow delegateValues.
+                 newParents: newProto traitsWindow delegateValues.
+                 oldParents size = newParents size
+                   /\ [oldParents keys allSatisfy:
+                     [| :index | (oldParents at: index) == (newParents at: 
index)]]]]
hunk ./src/lib/derivable.slate 111
-              unlessSatisfies: [| :old | old traitsWindow delegateValues
-                                  = newProto traitsWindow delegateValues]]
+              unlessSatisfies:
+                [| :old oldParents newParents |
+                 "Modified equality using == over each delegate pair."
+                 oldParents: old traitsWindow delegateValues.
+                 newParents: newProto traitsWindow delegateValues.
+                 oldParents size = newParents size
+                   /\ [oldParents keys allSatisfy:
+                     [| :index | (oldParents at: index) == (newParents at: 
index)]]]]
)
merger 0.0 (
hunk ./src/lib/derivable.slate 114
-  (x atSlotNamed: protoName)
-    `>> [addPrintName: protoName name.]
+  (x atSlotNamed: protoName) `>> [addPrintName: protoName name. ]
hunk ./src/lib/derivable.slate 114
-  (x atSlotNamed: protoName)
-    `>> [addPrintName: protoName name.]
+  (x atSlotNamed: protoName) `>> [addPrintName: protoName name. ]
)
merger 0.0 (
hunk ./src/lib/derivable.slate 124
-
+
hunk ./src/lib/derivable.slate 124
-
+
)
}
===
That was the beginning of the patches I copied. There is much more left.

--Paul

-------------- next part --------------
A non-text attachment was scrubbed...
Name: derivable.slate
Type: application/octet-stream
Size: 5812 bytes
Desc: not available
Url : /archives/slate/attachments/20050317/62f0fd94/derivable.obj


More information about the Slate mailing list