diff --git a/.filetree b/.filetree deleted file mode 100644 index c6704e51..00000000 --- a/.filetree +++ /dev/null @@ -1,2 +0,0 @@ -{"packageExtension" : ".package", -"propertyFileExtension" : ".json" } \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 0b3496fd..c49f5bf8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,4 +7,5 @@ os: # Select compatible Smalltalk image(s) smalltalk: - - Pharo-6.0 \ No newline at end of file + - Pharo-6.1 + - Pharo64-6.1 diff --git a/repository/BaselineOfFileTree.package/.filetree b/repository/BaselineOfFileTree.package/.filetree index 8998102c..57a67973 100644 --- a/repository/BaselineOfFileTree.package/.filetree +++ b/repository/BaselineOfFileTree.package/.filetree @@ -1,4 +1,5 @@ { - "noMethodMetaData" : true, "separateMethodMetaAndSource" : false, - "useCypressPropertiesFile" : true } + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/baseline..st b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/baseline..st index 2003b623..d29a830e 100644 --- a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/baseline..st +++ b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/baseline..st @@ -4,10 +4,10 @@ baseline: spec spec for: #common do: [ spec - configuration: 'OSSubprocess' + configuration: 'OSProcess' with: [ spec versionString: #stable; - repository: 'github://marianopeck/OSSubprocess/repository' ]; + repository: 'http://www.squeaksource.com/MetacelloRepository' ]; yourself. spec configuration: 'ProcessWrapper' @@ -32,17 +32,17 @@ baseline: spec for: #Unix do: [ spec package: 'MonticelloFileTree-Git' - with: [ spec requires: #('MonticelloFileTree-Core' ) ] ]. + with: [ spec requires: #('MonticelloFileTree-Core') ] ]. spec - for: #MacOSSubprocess + for: #MacOSProcess do: [ spec package: 'MonticelloFileTree-Git' - with: [ spec requires: #('MonticelloFileTree-Core' 'OSSubprocess') ] ]. + with: [ spec requires: #('MonticelloFileTree-Core' 'OSProcess') ] ]. spec - for: #UnixOSSubprocess + for: #UnixOSProcess do: [ spec package: 'MonticelloFileTree-Git' - with: [ spec requires: #('MonticelloFileTree-Core' 'OSSubprocess') ] ]. + with: [ spec requires: #('MonticelloFileTree-Core' 'OSProcess') ] ]. spec for: #Windows do: [ spec diff --git a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/customProjectAttributes.st b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/customProjectAttributes.st index 830d67f5..c69b3ffb 100644 --- a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/customProjectAttributes.st +++ b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/instance/customProjectAttributes.st @@ -1,16 +1,16 @@ accessing customProjectAttributes Smalltalk os isMacOS - ifTrue: [ (Smalltalk at: #PipeableOSProcess ifAbsent: [ ]) - ifNil: [ (Smalltalk at: #OSSUnixSubprocess ifAbsent: [ ]) - ifNil: [ ^ #(#MacOSSubprocess) ] - ifNotNil: [ ^ #(#MacOS) ] ] - ifNotNil: [ ^ #(#MacOS) ] ]. + ifTrue: [ (Smalltalk hasClassNamed: #PipeableOSProcess) + ifFalse: [ (Smalltalk hasClassNamed: #OSSUnixSubprocess) + ifFalse: [ ^ #(#MacOSProcess) ] + ifTrue: [ ^ #(#MacOS) ] ] + ifTrue: [ ^ #(#MacOS) ] ]. Smalltalk os isUnix - ifTrue: [ ^ (Smalltalk at: #PipeableOSProcess ifAbsent: [ ]) - ifNil: [ (Smalltalk at: #OSSUnixSubprocess ifAbsent: [ ]) - ifNil: [ ^ #(#UnixOSSubprocess) ] - ifNotNil: [ ^ #(#Unix) ] ] - ifNotNil: [ ^ #(#Unix) ] ]. + ifTrue: [ (Smalltalk hasClassNamed: #PipeableOSProcess) + ifFalse: [ (Smalltalk hasClassNamed: #OSSUnixSubprocess) + ifFalse: [ ^ #(#UnixOSProcess) ] + ifTrue: [ ^ #(#Unix) ] ] + ifTrue: [ ^ #(#Unix) ] ]. Smalltalk os isWindows ifTrue: [ ^ #(#Windows) ] \ No newline at end of file diff --git a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/methodProperties.json b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/methodProperties.json index 12833d52..899a9791 100644 --- a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/methodProperties.json +++ b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/methodProperties.json @@ -1,6 +1,7 @@ { - "class" : { - }, "instance" : { - "baseline:" : "ThierryGoubier 4/30/2016 16:03", - "customProjectAttributes" : "ThierryGoubier 4/30/2016 16:02" } } + "baseline:" : "ThierryGoubier 3/8/2018 22:55", + "customProjectAttributes" : "ThierryGoubier 3/8/2018 22:54" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/properties.json b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/properties.json index 0151e54a..b4cc02d4 100644 --- a/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/properties.json +++ b/repository/BaselineOfFileTree.package/BaselineOfFileTree.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "BaselineOfFileTree", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "BaselineOfFileTree", - "pools" : [ - ], "super" : "BaselineOf", - "type" : "normal" } + "category" : "BaselineOfFileTree", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "BaselineOfFileTree", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/BaselineOfFileTree.package/monticello.meta/version b/repository/BaselineOfFileTree.package/monticello.meta/version index 23a7623e..a30e6bdd 100644 --- a/repository/BaselineOfFileTree.package/monticello.meta/version +++ b/repository/BaselineOfFileTree.package/monticello.meta/version @@ -1,32 +1,2 @@ -(name 'BaselineOfFileTree-ThierryGoubier.32' message '#Unix, #MacOS !' id 'ff6fcae4-dce4-452c-9905-56da70d23abe' date '30 April 2016' time '4:03:40.734218 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.31' message 'Check for OSSubprocess as well. -' id '17accafe-b515-508c-b488-6af5104cd30f' date '30 April 2016' time '3:59:20 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.30' message 'Target both OSProcess and OSSubprocess ? -' id '4416e1d2-e43c-59e3-b9c5-a58ab958e8c4' date '30 April 2016' time '12:00:13 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.29' message 'updating the issue_171 branch with current pharo5.0_dev -' id '6eab405a-8020-5ee1-84fb-3e30789fce7a' date '29 March 2016' time '10:52:56 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-MarianoMartinezPeck.26' message 'Fix issue #175 for branch issue_171 -' id 'a9aaf494-26c9-5c62-9fa5-f9670bb99297' date '6 February 2016' time '9:55:10 am' author 'MarianoMartinezPeck' ancestors ((name 'BaselineOfFileTree-MarianoMartinezPeck.25' message 'Fix issue #175 for branch issue_171 -' id '66373e5b-f482-5868-813a-2d02ab411f8b' date '6 February 2016' time '9:51:12 am' author 'MarianoMartinezPeck' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.22' message 'Forgot to update the requires! -' id '0cfdc14c-d709-5603-a7b2-c37423182a2d' date '14 January 2016' time '10:25:39 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.21' message 'Replace OSProcess by OSSubprocess -' id '8abebac6-afa8-5f07-8929-c59bb8b88de8' date '14 January 2016' time '9:58:25 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.19' message 'Reactivate GitFileTree tests -' id '40621310-ff38-5ecf-8759-e713bea8374a' date '23 July 2015' time '4:06:59 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.18' message 'Remove the git tests for now -' id '80b5f97d-c674-525a-9b97-e9a3d2198572' date '23 July 2015' time '10:26:18 am' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.17' message 'Activated Git Tests in the travis CI -' id 'ad10178e-3197-5bcd-b6d4-903eb8dbe314' date '23 July 2015' time '9:42:49 am' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.16' message 'Wrong Repository for OSProcess -' id '888fb307-4ff0-51b7-b951-06e11128f873' date '6 March 2015' time '9:47:37 am' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.15' message 'Switch to the OSProcess configuration in MetaRepoForPharo30 -' id 'eac20fe8-4aa9-5ab4-b0a3-4527ee3b05ea' date '6 March 2015' time '7:22 am' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.14' message 'Added support for loading ProcessWrapper (Windows Support) -' id 'e85ac281-20e9-5b65-91cf-a9c5720c4163' date '2 March 2015' time '7:24:56 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.13' message 'bump baseline monticello version -' id '3aa08233-a131-5c97-ba2a-d9304c19ca02' date '1 September 2013' time '10:21:10 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.12' message 'have to remove MonticelloFileTree-GitTests from Tests ... create separate Git Tests group -' id '42e9ad70-c7b6-5f7d-b48c-d90e0a0db082' date '1 September 2013' time '9:00:20 am' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.11' message 'remove Git load/testing for pharo3.0, per Thierry''s comment[1] -' id '2c7be37b-ff03-537a-b89a-3c505d29df2e' date '1 September 2013' time '8:48:26 am' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.10' message 'cherry-pick: fd9d9be3be16c5ea001c41d6ad93fa49de055dc3 (gitrepo work from Thierry) -' id '5579aadb-16eb-5458-962c-d887f5cd0363' date '28 June 2013' time '1:42:37 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.9' message 'create Git group for MonticelloFileTree-Git package -' id '15e20e3f-1f81-56b2-96b2-c816299b6642' date '15 June 2013' time '6:06:05 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.8' message 'add MonticelloFileTree-Git to baseline -' id '92698551-d187-5bf9-a3fc-deffe6788e0e' date '3 June 2013' time '2:46:21 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.7' message 'Merge branch ''master'' into pharo2.0: all tests green in Pharo-2.0a-20305 -' id '830a45dc-ffc4-5ab1-9d2e-c0b87ff60459' date '24 September 2012' time '5:14:05 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.5' message 'Issue #52: update baseline for pharo-2.0 -' id 'bab12d8f-8e2e-5361-bc3b-1e00a85ffbe7' date '10 August 2012' time '10:26:57 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.4' message 'Issue #52: fix the baseline -' id 'a9c223a6-447a-59bd-814a-bbd5dc4e4c5d' date '10 August 2012' time '7:03:57 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.3' message 'Issue #52: add new packages to baseline -' id '7592aa14-1183-5c48-a3e9-f9b2e54d30f3' date '10 August 2012' time '5:13:02 pm' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.2' message 'Merge branch ''issue_38'' into pharo1.3: Issue #38 fix (cherry picked from commit 4065e9230164df95dd013cfaa2f58e89803ab391) -' id '0777e8f9-d874-5f1f-bc68-c74bacc2fa1a' date '5 July 2012' time '11:24:40 am' author 'DaleHenrichs' ancestors ((name 'BaselineOfFileTree-DaleHenrichs.1' message '[travis-ci and BaselineOf] cherry pick line of commits from: 7ca09f5ac0d182d4b940403936fb11303a544db1 to 6e01c7dd719e9e742c2730e05bb89b995d36a0d0 -' id '5b3ff9c7-b547-5367-82ab-d012de13a941' date '11 June 2012' time '2:58:16 pm' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'BaselineOfFileTree-DaleHenrichs.6' message 'Merge branch ''issue_52'' into pharo1.4: Issue #52 -' id '82a62164-f27e-5fff-9934-ce5e16ac1a16' date '10 August 2012' time '10:34:37 pm' author 'DaleHenrichs' ancestors ((id '0777e8f9-d874-5f1f-bc68-c74bacc2fa1a')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'BaselineOfFileTree-ThierryGoubier.28' message 'Revert to Mariano changes -' id '20c442c5-bd0b-5a8b-9df5-394152d17cbd' date '27 March 2016' time '6:50:12 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.27' message 'Merge Otto Behrens improvements on the Pharo5.0_dev branch -' id '6897578a-5a26-52b0-9121-ca6aa92c62e2' date '27 March 2016' time '6:47:07 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-MarianoMartinezPeck.24' message 'Fix to issue #175. This one should work -' id 'b2eed698-eab4-510e-9d00-cb3e45f680e8' date '5 February 2016' time '10:51:38 am' author 'MarianoMartinezPeck' ancestors ((name 'BaselineOfFileTree-MarianoMartinezPeck.23' message 'Trying to fix issue #175 but not luck -' id '64f2a773-f8b8-5b6b-aabd-eeeb16a62ad4' date '31 January 2016' time '10:02:56 pm' author 'MarianoMartinezPeck' ancestors ((id '40621310-ff38-5ecf-8759-e713bea8374a')) stepChildren ())) stepChildren ())(name 'BaselineOfFileTree-ThierryGoubier.20' message 'This is maintained for Pharo 4 -' id '51bc40d6-854c-5060-ab9a-0d5b3f168259' date '17 November 2015' time '6:58:54 am' author 'ThierryGoubier' ancestors ((id '40621310-ff38-5ecf-8759-e713bea8374a')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'BaselineOfFileTree-ThierryGoubier.1520015085' message 'Update the baseline' id '95957f79-4f23-0d00-88b7-a36c0faff969' date '8 March 2018' time '10:55:45.03195 pm' author 'ThierryGoubier' ancestors ((name 'BaselineOfFileTree-ThierryGoubier.1520015084' message 'Revert a change in accessing repository properties. +' id '57efc516-a8a9-554f-8627-9b0b12407b2b' date '2 March 2018' time '7:24:44 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/BaselineOfFileTree.package/properties.json b/repository/BaselineOfFileTree.package/properties.json index f037444a..6f31cf5a 100644 --- a/repository/BaselineOfFileTree.package/properties.json +++ b/repository/BaselineOfFileTree.package/properties.json @@ -1,2 +1 @@ -{ - } +{ } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/README.md b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/README.md new file mode 100644 index 00000000..eb0456dc --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/README.md @@ -0,0 +1,3 @@ +I represent an object entry in git store, along the format provided by git ls-tree. + +I can be used to query a store files and directories instead of querying the working tree \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/class/from..st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/class/from..st new file mode 100644 index 00000000..5b63e3c4 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/class/from..st @@ -0,0 +1,5 @@ +instance creation +from: aLineAsString + "Extracted from a line provided by git ls-tree" + + ^ self new from: aLineAsString \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/class/fromAll..st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/class/fromAll..st new file mode 100644 index 00000000..c6145791 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/class/fromAll..st @@ -0,0 +1,5 @@ +instance creation +fromAll: aString + "Extracted from a string containing the lines of git ls-tree" + + ^ aString lines collect: [ :aLine | self from: aLine ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/file.st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/file.st new file mode 100644 index 00000000..979743c6 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/file.st @@ -0,0 +1,3 @@ +accessing +file + ^ file \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/from..st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/from..st new file mode 100644 index 00000000..1dcb0b20 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/from..st @@ -0,0 +1,12 @@ +initialize-release +from: aLineAsString + " SP SP TAB " + + (Character tab split: aLineAsString) + in: [ :anArray | + (Character space split: anArray first) + in: [ :anInsideArray | + mode := anInsideArray first. + type := anInsideArray second. + object := anInsideArray third ]. + file := anArray second ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/isDirectory.st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/isDirectory.st new file mode 100644 index 00000000..dbdb8454 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/isDirectory.st @@ -0,0 +1,3 @@ +testing +isDirectory + ^ type = 'tree' \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/mode.st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/mode.st new file mode 100644 index 00000000..cd01c4ae --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/mode.st @@ -0,0 +1,3 @@ +accessing +mode + ^ mode \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/name.st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/name.st new file mode 100644 index 00000000..213a4d48 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/name.st @@ -0,0 +1,3 @@ +accessing +name + ^ file \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/object.st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/object.st new file mode 100644 index 00000000..ab44a2bb --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/object.st @@ -0,0 +1,3 @@ +accessing +object + ^ object \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/type.st b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/type.st new file mode 100644 index 00000000..7487493d --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/instance/type.st @@ -0,0 +1,3 @@ +accessing +type + ^ type \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/methodProperties.json new file mode 100644 index 00000000..eeded45b --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/methodProperties.json @@ -0,0 +1,15 @@ +{ + "instance" : { + "type" : "ThierryGoubier 3/2/2018 09:51", + "isDirectory" : "ThierryGoubier 3/2/2018 10:22", + "mode" : "ThierryGoubier 3/2/2018 09:51", + "object" : "ThierryGoubier 3/2/2018 09:51", + "name" : "ThierryGoubier 3/2/2018 10:17", + "file" : "ThierryGoubier 3/2/2018 09:51", + "from:" : "ThierryGoubier 3/2/2018 09:57" + }, + "class" : { + "fromAll:" : "ThierryGoubier 3/2/2018 10:13", + "from:" : "ThierryGoubier 3/2/2018 09:57" + } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/properties.json b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/properties.json similarity index 56% rename from repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/properties.json rename to repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/properties.json index 625c72b9..8758db35 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/properties.json +++ b/repository/MonticelloFileTree-Git.package/GitFileTreeObjectEntry.class/properties.json @@ -1,11 +1,16 @@ { "commentStamp" : "", - "super" : "MCFileTreeWriter", + "super" : "Object", "category" : "MonticelloFileTree-Git", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], - "instvars" : [ ], - "name" : "MCFileTreeGitWriter", + "instvars" : [ + "mode", + "type", + "object", + "file" + ], + "name" : "GitFileTreeObjectEntry", "type" : "normal" } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/README.md b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/README.md index b19b2bd2..5b96c90d 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/README.md +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/README.md @@ -30,3 +30,26 @@ MCRepository basicFromUrl: 'gitfiletree://github.com/dalehenrich/filetree:pharo5 gitfiletree core documentation : gitfiletree maps MC commands onto git commands via OSProcess, and MC metadata out of git commit data. That's all there is to it. A bit of git knowledge can help, but no git command line work is necessary. The inner workings are a bit more complex than that of course, but not by much. + +gitfiletree new attempt : + +When reading, gitfiletree does not use the working tree. When writing with fast-import, gitfiletree does not use the working tree either. Using bare git repositories could then work nicely, wthout any possible mess of a working tree. It would work, except for the fact that the working tree is necessary for some commands (merge, pull). However, gitfiletree would get the benefit of never using the working tree (and hence have issues with file names and the like) + +- Clone: +git clone --bare +git clone --mirror +- Change branch +git symbolic-ref HEAD refs/heads/pharo6 +- Ok on bare: +git log +git branch -> git update-ref refs/heads/new_branch refs/heads/master +git need to pull +- Not Ok on bare +git pull -> replaced by git fetch plus a git merge ? +git push -> has to be explicit? git push origin "works very nicely" +git rev-parse --show-toplevel -> doesn't work, not needed. +git versions for package -> need object navigation +- Object navigation +git cat-file -p -> various objects starting with a commit (can do git cat-file -p ) +git ls-tree : -> show all entries. can recurse (-r) +git rev-parse --is-inside-work-tree -> answers false (not in a work tree) diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runGitCommand.in.withInput..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runGitCommand.in.withInput..st new file mode 100644 index 00000000..3fdfd753 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runGitCommand.in.withInput..st @@ -0,0 +1,23 @@ +accessing +runGitCommand: anArrayOfStrings in: aDirectory withInput: aString + "Dispatch depending on the platform." + + UIManager default + informUserDuring: [ :bar | + bar label: self gitCommand , ' ' , anArrayOfStrings first. + Smalltalk platform isWin32 + ifTrue: [ ^ self + runProcessWrapperGitCommand: anArrayOfStrings + in: aDirectory + withInput: aString ] + ifFalse: [ ((Smalltalk at: #OSSUnixSubprocess ifAbsent: [ ]) + ifNil: [ false ] + ifNotNil: [ :g | g isClass ]) + ifTrue: [ ^ self + runOSSubprocessGitCommand: anArrayOfStrings + in: aDirectory + withInput: aString ] + ifFalse: [ ^ self + runOSProcessGitCommand: anArrayOfStrings + in: aDirectory + withInput: aString ] ] ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSProcessGitCommand.in.withInput..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSProcessGitCommand.in.withInput..st new file mode 100644 index 00000000..408e6013 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSProcessGitCommand.in.withInput..st @@ -0,0 +1,42 @@ +private-commands +runOSProcessGitCommand: anArrayOfStrings in: aDirectory withInput: aByteArray + "Run a git command, no shell, with a full path and arguments in an array. Add the input encoded in utf8 as stdin." + + | classOfExternalPipe classOfPipeableOSProcess c r d in out err file | + classOfExternalPipe := Smalltalk at: #ExternalPipe. + classOfPipeableOSProcess := Smalltalk at: #PipeableOSProcess. + (file := FileReference newTempFilePrefix: 'GitCommand' suffix: '.txt') + writeStreamDo: [ :s | + s binary. + s nextPutAll: aByteArray ]. + in := FileStream readOnlyFileNamed: file pathString. + out := classOfExternalPipe nonBlockingPipe. + err := classOfExternalPipe nonBlockingPipe. + [ c := classOfPipeableOSProcess externalProxyClass + programName: self gitCommand + arguments: anArrayOfStrings + initialEnvironment: nil. + c initialStdIn: in. + c initialStdOut: out writer. + c initialStdErr: err writer. + c pwd: (MCFileTreeFileUtils current directoryPathString: aDirectory). + c := c initialize value. + d := nil. + in close. + r := out upToEnd. + [ c update: #runState. + c isComplete ] + whileFalse: [ (d ifNil: [ d := Delay forMilliseconds: 5 ]) wait. + r := r , out upToEnd ]. + r := r , out upToEndOfFile. + c succeeded + ifFalse: [ | errorString | + errorString := err upToEndOfFile. + errorString notEmpty + ifTrue: [ MCFileTreeGitError new signal: 'Git error: ' , errorString ]. + r := '' ] ] + ensure: [ in close. + out close. + err close. + file ensureDelete ]. + ^ r \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSSubprocessGitCommand.in.withInput..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSSubprocessGitCommand.in.withInput..st new file mode 100644 index 00000000..ae4be755 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runOSSubprocessGitCommand.in.withInput..st @@ -0,0 +1,38 @@ +private-commands +runOSSubprocessGitCommand: anArrayOfStrings in: aDirectory withInput: aByteArray + "A shot in the dark. Reimplementing stuff." + + | classOfOSSUnixSubprocess c retrievedStdout retrievedStderr | + classOfOSSUnixSubprocess := Smalltalk at: #OSSUnixSubprocess. + retrievedStdout := String new writeStream. + retrievedStderr := String new writeStream. + c := classOfOSSUnixSubprocess new + command: self gitCommand; + arguments: + {'-C'. + (MCFileTreeFileUtils current directoryPathString: aDirectory)} + , anArrayOfStrings; + redirectStdout; + redirectStderr; + redirectStdin; + yourself. + c run. + c stdinStream + binary; + nextPutAll: aByteArray; + close. + c + waitForExitPollingEvery: (Delay forMilliseconds: 5) + doing: [ c + retrieveWhatIsAvailableOn: c stdoutStream + andAddItTo: retrievedStdout. + c + retrieveWhatIsAvailableOn: c stderrStream + andAddItTo: retrievedStderr ]. + c closeAndCleanStreams. + c isSuccess + ifTrue: [ ^ retrievedStdout contents ] + ifFalse: [ retrievedStderr isEmpty + ifTrue: [ ^ '' ] + ifFalse: [ MCFileTreeGitError new + signal: 'Git error: ' , retrievedStderr contents ] ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runProcessWrapperGitCommand.in.withInput..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runProcessWrapperGitCommand.in.withInput..st new file mode 100644 index 00000000..1ea12e1b --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/class/runProcessWrapperGitCommand.in.withInput..st @@ -0,0 +1,44 @@ +private-commands +runProcessWrapperGitCommand: anArrayOfStrings in: aDirectory withInput: aByteArray + "Enclose all parameters with double quotes to protect." + + | r aCommandString | + aCommandString := String + streamContents: [ :stream | + anArrayOfStrings + do: [ :e | + stream + nextPut: $"; + nextPutAll: e; + nextPutAll: '" ' ] ]. + (Smalltalk + at: #ProcessWrapper + ifAbsent: [ self error: 'Please load ProcessWrapper' ]) + ifNotNil: [ :pW | + | command file | + (file := FileReference + newTempFilePrefix: 'GitCommand' + suffix: '.txt') + writeStreamDo: [ :s | + s binary. + s nextPutAll: aByteArray ]. + command := pW new + useStdout; + useStderr; + startWithCommand: + self gitCommand , ' -C "' + , (MCFileTreeFileUtils current directoryPathString: aDirectory) + , '" ' , aCommandString , ' <"' + , (MCFileTreeFileUtils current directoryPathString: file) , '"'; + yourself. + command waitForExit. + self assert: command isRunning not. + r := command upToEnd. + file ensureDelete. + command exitCode > 0 + ifTrue: [ | errorString | + errorString := command errorUpToEnd. + errorString notEmpty + ifTrue: [ MCFileTreeGitError new signal: 'Git error: ' , errorString ]. + r := '' ] ]. + ^ r \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/authorEmail..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/authorEmail..st new file mode 100644 index 00000000..57734c9b --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/authorEmail..st @@ -0,0 +1,5 @@ +accessing +authorEmail: aVersion + ^ (self class namesAt: aVersion info author) + ifNotNil: [ :d | d at: #email ] + ifNil: [ '<' , self gitAuthorEmail , '>' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/authorName..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/authorName..st new file mode 100644 index 00000000..ee02f8d0 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/authorName..st @@ -0,0 +1,5 @@ +accessing +authorName: aVersion + ^ (self class namesAt: aVersion info author) + ifNotNil: [ :d | d at: #name ] + ifNil: [ self gitAuthorName ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersion..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersion..st index 8fa0c4ed..28dce0a3 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersion..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersion..st @@ -5,6 +5,8 @@ basicStoreVersion: aVersion "Recover the last commit id and update the version info to have a correctly synchronized in image id (apart from the version number?)" | packageDirectoryString output deps gitCommand outString s | + self hasMetadata + ifFalse: [ ^ self fiStoreVersion: aVersion ]. aVersion info message isString ifFalse: [ MCFileTreeGitError new signal: 'version message is not a string: ' , aVersion info name ]. diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersions..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersions..st index 3471118c..8689acd9 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersions..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/basicStoreVersions..st @@ -5,6 +5,8 @@ basicStoreVersions: versions "Recover the last commit id and update the version info to have a correctly synchronized in image id (apart from the version number?)" | packageDirectoryString output deps gitCommand outString s live liveInfo | + self hasMetadata + ifFalse: [ ^ self fiStoreVersions: versions ]. versions do: [ :aVersion | aVersion info message isString diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/canReadFileNamed..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/canReadFileNamed..st new file mode 100644 index 00000000..db405a48 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/canReadFileNamed..st @@ -0,0 +1,13 @@ +testing +canReadFileNamed: aString + | filename extension | + filename := self subDirectoryString , aString. + extension := filename + copyFrom: (filename lastIndexOf: $.) + to: filename size. + ^ (extension ~= '.package' + and: [ (self gitEntriesFor: filename) + in: [ :es | + #('version' 'package') + allSatisfy: [ :t | es anySatisfy: [ :e | e name = t ] ] ] ]) + or: [ extension = '.package' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/currentBranch.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/currentBranch.st index 6dfc2987..6efc2b42 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/currentBranch.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/currentBranch.st @@ -5,10 +5,11 @@ currentBranch | branches indexOfStar current | branches := self gitBranchs. indexOfStar := branches indexOf: '*'. + indexOfStar = 0 + ifTrue: [ ^ nil ]. current := branches at: indexOfStar + 1. (current first = $( and: [ current last ~= $) ]) - ifTrue: [ - (branches allButFirst: indexOfStar + 1) + ifTrue: [ (branches allButFirst: indexOfStar + 1) do: [ :each | current := current , ' ' , each. each last = $) diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/defaultRepositoryProperties.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/defaultRepositoryProperties.st index de03d652..615569f6 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/defaultRepositoryProperties.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/defaultRepositoryProperties.st @@ -1,5 +1,9 @@ -accessing-metadata +accessing-repository defaultRepositoryProperties - ^ super defaultRepositoryProperties + "Avoid a recursion bug in the superclass." + + ^ Dictionary new + at: 'packageExtension' put: self class defaultPackageExtension; + at: 'propertyFileExtension' put: self class defaultPropertyFileExtension; at: 'Metadata' put: 'false'; yourself \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/description.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/description.st index ef8c0d5d..6804f111 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/description.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/description.st @@ -1,7 +1,9 @@ descriptions description - directory exists + self gitTopDirectory exists ifFalse: [ ^ 'deleted' ]. - remoteUrl ifNil: [ ^ self shortDirectoryDescription , ' [' , self branch , '] (GitFileTree)' ]. - self branch ifNotNil: [ ^ self shortRemoteDescription , ' [' , self branch , '] (Remote Git)' ]. - ^ remoteUrl \ No newline at end of file + remoteUrl + ifNil: [ ^ self shortDirectoryDescription , ' [' + , (self branch ifNil: [ 'master' ]) , '] (GitFileTree)' ]. + ^ self shortRemoteDescription , ' [' + , (self branch ifNil: [ 'master' ]) , '] (Remote Git)' \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/directory..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/directory..st index a1e80fd4..7e6d09a9 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/directory..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/directory..st @@ -3,4 +3,5 @@ directory: aDirectory (self isGitRepository: aDirectory) ifFalse: [ MCFileTreeGitError new signal: 'is not a git repository: ' , aDirectory ]. - super directory: aDirectory \ No newline at end of file + super directory: aDirectory. + subDirectoryString := nil \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fiStoreVersion..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fiStoreVersion..st new file mode 100644 index 00000000..1a5d9d88 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fiStoreVersion..st @@ -0,0 +1,16 @@ +storing +fiStoreVersion: aVersion + "Do a filetree store followed by in order, a check and save dependencies, a commit and an update of the version info." + + "Recover the last commit id and update the version info to have a correctly synchronized in image id (apart from the version number?)" + + "Note: for each package, the git command to do after the fast-import is: + git reset HEAD + git checkout HEAD " + + | versions string file | + aVersion info message isString + ifFalse: [ MCFileTreeGitError new + signal: 'version message is not a string: ' , aVersion info name ]. + versions := self versionWithAllDependencies: aVersion. + self fiStoreVersions: versions \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fiStoreVersions..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fiStoreVersions..st new file mode 100644 index 00000000..e93573e3 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fiStoreVersions..st @@ -0,0 +1,31 @@ +storing +fiStoreVersions: anArrayOfVersion + "Do a filetree store followed by in order, a check and save dependencies, a commit and an update of the version info." + + "Recover the last commit id and update the version info to have a correctly synchronized in image id (apart from the version number?)" + + | string | + anArrayOfVersion first info message isString + ifFalse: [ MCFileTreeGitError new + signal: 'version message is not a string: ' , anArrayOfVersion first info name ]. + string := MCGitFileTreeWriter fileOutAll: anArrayOfVersion on: self. + self gitCommand: #('fast-import') withInput: string contents. + self + gitCommand: + #('reset' 'HEAD') + , + (anArrayOfVersion + collect: [ :v | self subDirectoryString , v package name , '.package/' ]). + self + gitCommand: + #('checkout' 'HEAD') + , + (anArrayOfVersion + collect: [ :v | self subDirectoryString , v package name , '.package/' ]). + self gitCommand: #('clean' '-f') in: directory. + anArrayOfVersion + do: [ :each | + | b | + (b := MCWorkingCopy hasPackageNamed: each package name) == false + ifFalse: + [ b versionInfo: (self versionInfoFromVersionNamed: each package name) ] ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fileDirectoryOn..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fileDirectoryOn..st index eed7514b..46e3c37e 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fileDirectoryOn..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/fileDirectoryOn..st @@ -2,4 +2,6 @@ private fileDirectoryOn: aGitFileTreePackageEntry "We are dealing with GitFileTreePackageEntry objects, not FileReferences." - ^ self fileUtils directoryFromPath: aGitFileTreePackageEntry packageDirectory relativeTo: self directory \ No newline at end of file + ^ self fileUtils + directoryFromPath: aGitFileTreePackageEntry packageDirectory + relativeTo: self directory \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryEntry..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryEntry..st deleted file mode 100644 index 2822f8b8..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryEntry..st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -getVersionsForPackageDirectoryEntry: entry - ^ self getVersionsForPackageDirectoryName: entry name \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryName..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryName..st index ce483d12..35146c4f 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryName..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/getVersionsForPackageDirectoryName..st @@ -19,8 +19,10 @@ getVersionsForPackageDirectoryName: packageDirectoryName entryVersionIndex at: (ByteArray readHexFrom: (parent copyFrom: 1 to: 7)) asInteger ]) asOrderedCollection. - message := (commitIDs next: logSize + position - commitIDs position) + message := (commitIDs + next: logSize + position - commitIDs position - 1) convertFromSystemString. + commitIDs next. newPackageEntry := GitFileTreePackageEntry new packageDirectory: packageDirectoryName; commitID: commitID; diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitAuthorEmail.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitAuthorEmail.st new file mode 100644 index 00000000..7e86775a --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitAuthorEmail.st @@ -0,0 +1,6 @@ +git querying +gitAuthorEmail + ^ gitAuthorEmail + ifNil: + [ gitAuthorEmail := (self gitCommand: #('config' '--get' 'user.email')) + trimRight ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitAuthorName.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitAuthorName.st new file mode 100644 index 00000000..e28925d1 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitAuthorName.st @@ -0,0 +1,5 @@ +git querying +gitAuthorName + ^ gitAuthorName + ifNil: [ gitAuthorName := (self gitCommand: #('config' '--get' 'user.name')) + trimRight ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitBranchs.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitBranchs.st index e2cd7b98..9ec14109 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitBranchs.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitBranchs.st @@ -5,5 +5,5 @@ gitBranchs "This is used to determine the current branch." | s | - s := (self gitCommand: #('branch') in: directory) substrings. + s := (self gitCommand: #('branch')) substrings. ^ s \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCatFile..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCatFile..st new file mode 100644 index 00000000..d5671403 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCatFile..st @@ -0,0 +1,6 @@ +git querying +gitCatFile: aHashString + "Cat this object content." + + ^ self + gitCommand: (Array with: 'cat-file' with: 'blob' with: aHashString) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCommand..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCommand..st new file mode 100644 index 00000000..1ea4335d --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCommand..st @@ -0,0 +1,5 @@ +private +gitCommand: aCommandString + "I often use the git top directory for the commands." + + ^ self class runGitCommand: aCommandString in: self gitTopDirectory \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCommand.withInput..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCommand.withInput..st new file mode 100644 index 00000000..566720fd --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitCommand.withInput..st @@ -0,0 +1,8 @@ +private +gitCommand: aCommandString withInput: aString + "Often, we do that into the top git directory." + + ^ self class + runGitCommand: aCommandString + in: self gitTopDirectory + withInput: aString \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitEntriesFor..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitEntriesFor..st new file mode 100644 index 00000000..87554aa2 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitEntriesFor..st @@ -0,0 +1,17 @@ +git querying +gitEntriesFor: aPathAsString + "Get all entries for that particular string representing a path, relative to the git top directory, and with path segments separated by $/ even under windows apparently." + + "Format: an array listing name, mode, type, commit id." + + "If we have an error message with HEAD:, then it means an empty git repository." + + ^ GitFileTreeObjectEntry + fromAll: + ([ self + gitCommand: (Array with: 'ls-tree' with: 'HEAD:' , aPathAsString) ] + on: MCFileTreeGitError + do: [ :ex | + (ex messageText includesAll: 'HEAD:') + ifTrue: [ '' ] + ifFalse: [ ex signal ] ]) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitNeedPush.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitNeedPush.st index f465f417..03ee08f7 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitNeedPush.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitNeedPush.st @@ -2,4 +2,6 @@ git querying gitNeedPush "Check if we need a push. Is that message multilingual ?" - ^ (self gitCommand: #('log' '--branches' '--not' '--remotes' '--oneline') in: directory) size > 1 \ No newline at end of file + ^ (self + gitCommand: #('log' '--branches' '--not' '--remotes' '--oneline')) + size > 1 \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPull.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPull.st index 176ab323..38f64cd6 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPull.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPull.st @@ -4,4 +4,4 @@ gitPull "The pull may fail because this amounts to a merge and rebase (after having done a fetch) and hence may end up in conflicts, that the user will have to solve by hand. Perspectives are that with a merge-tool written in Pharo, we will be able to fall back to Pharo to resolve the conflict, which should be very cool." - self gitCommand: #('pull' '--rebase') in: directory \ No newline at end of file + self gitCommand: #('pull' '--rebase') \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPush.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPush.st index 2bc12677..e5d4361d 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPush.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitPush.st @@ -2,4 +2,4 @@ git querying gitPush "Do a push on the repository" - self gitCommand: #('push') in: directory \ No newline at end of file + self gitCommand: #('push') \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitTopDirectory.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitTopDirectory.st new file mode 100644 index 00000000..bfa759da --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitTopDirectory.st @@ -0,0 +1,6 @@ +git querying +gitTopDirectory + ^ gitTopLevelDirectory + ifNil: [ gitTopLevelDirectory := (self + gitCommand: #('rev-parse' '--show-toplevel') + in: directory) trimRight asFileReference ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersions.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersions.st index 626a97df..b99f9cb1 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersions.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersions.st @@ -4,4 +4,5 @@ gitVersions "This is used to establish an ancestry chain package per package." - ^ ReadStream on: (self gitCommand: #('log' '--format=commit %H %P') in: directory) \ No newline at end of file + ^ ReadStream + on: (self gitCommand: #('log' '--format=commit %H %P') in: directory) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForDefinition.in..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForDefinition.in..st index 390cc6e1..27619715 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForDefinition.in..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForDefinition.in..st @@ -2,19 +2,18 @@ git querying gitVersionsForDefinition: aMCDefinition in: aPackageName "Query git for all the versions related to that method definition." - | fileDirectory methodFile | - fileDirectory := self fileUtils - directoryFromPath: - aMCDefinition className - , - (aMCDefinition isExtensionMethod - ifTrue: [ '.extension' ] - ifFalse: [ '.class' ]) - relativeTo: (self fileUtils directoryFromPath: aPackageName , '.package' relativeTo: directory). - methodFile := (aMCDefinition classIsMeta - ifTrue: [ 'class' ] - ifFalse: [ 'instance' ]) , '/' , (MCFileTreeStCypressWriter new fileNameForSelector: aMCDefinition selector) , '.st'. - (self fileUtils directoryExists: fileDirectory) - ifFalse: [ NotFound signalFor: fileDirectory ]. - ^ (self gitCommand: #('log' '--format=%H' '--') , {methodFile} in: fileDirectory) substrings - collect: [ :e | ByteArray readHexFrom: e ] + | methodFile | + methodFile := self subDirectoryString , aPackageName , '.package/' + , aMCDefinition className + , + (aMCDefinition isExtensionMethod + ifTrue: [ '.extension/' ] + ifFalse: [ '.class/' ]) + , + (aMCDefinition classIsMeta + ifTrue: [ 'class/' ] + ifFalse: [ 'instance/' ]) + , (MCGitFileTreeWriter baseFileNameForSelector: aMCDefinition selector) + , '.st'. + ^ (self gitCommand: #('log' '--format=%H' '--') , {methodFile}) + substrings collect: [ :e | ByteArray readHexFrom: e ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForPackage..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForPackage..st index 15910a0b..fd09f6d9 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForPackage..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/gitVersionsForPackage..st @@ -2,6 +2,14 @@ git querying gitVersionsForPackage: aDirectoryEntry "Query git for all the commits related to that directory entry. Typical use: the package top-level directory entry, i.e. /.package. Return a stream of git sha1, the commit author, the date and time of commit, and the message for each commit changing something in this directory entry." - | packageDirectory | - packageDirectory := self fileUtils directoryFromPath: aDirectoryEntry relativeTo: directory. - ^ ReadStream on: (self gitCommand: #('log' '--log-size' '--parents' '--reverse' '--format=|%H|%an|%ai|%p|%s' '--' '.') in: packageDirectory) \ No newline at end of file + ^ ReadStream + on: + (self + gitCommand: + {'log'. + '--log-size'. + '--parents'. + '--reverse'. + '--format=|%H|%an|%ai|%p|%B'. + '--'. + (self subDirectoryString , aDirectoryEntry)}) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/internalStoreVersion..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/internalStoreVersion..st index 4bd76c09..73c4d51c 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/internalStoreVersion..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/internalStoreVersion..st @@ -3,24 +3,20 @@ internalStoreVersion: aVersion "Do a filetree store followed by a git add command." "Do not commit yet. Commit will only happens after checking the dependencies." - + "Writer is metadata dependent." | packageDirectoryString | self readonly - ifTrue: - [ ^ self + ifTrue: [ ^ self error: 'The gitfiletree repository: ' , self description printString , ' was created read only.' ]. - (self hasMetadata - ifTrue: [ MCFileTreeWriter ] - ifFalse: [ MCFileTreeGitWriter ]) fileOut: aVersion on: self. + MCFileTreeWriter fileOut: aVersion on: self. packageDirectoryString := (self class parseName: aVersion info name) first , self packageExtension. aVersion dependencies notEmpty - ifTrue: - [ self + ifTrue: [ self writeGitFileTreeProperties: (self fileUtils directoryFromPath: packageDirectoryString diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/loadAllFileNames.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/loadAllFileNames.st index 723f891c..2787514e 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/loadAllFileNames.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/loadAllFileNames.st @@ -16,7 +16,9 @@ loadAllFileNames | allNames entries | allNames := OrderedCollection new. - entries := self directory entries select: [ :entry | entry isDirectory and: [ self canReadFileNamed: entry name ] ]. + entries := (self gitEntriesFor: self subDirectoryString) + select: + [ :entry | entry isDirectory and: [ self canReadFileNamed: entry name ] ]. 'loading packages versions from git' displayProgressFrom: 0 to: entries size @@ -24,7 +26,8 @@ loadAllFileNames entries doWithIndex: [ :entry :index | | entryVersions | - entryVersions := self getVersionsForPackageDirectoryEntry: entry. + entryVersions := self + getVersionsForPackageDirectoryName: entry name. allNames addAll: entryVersions. bar value: index ] ]. ^ allNames \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/location.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/location.st index f727d060..41e0d22c 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/location.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/location.st @@ -1,3 +1,3 @@ descriptions location - ^ self class description , directory fullName \ No newline at end of file + ^ self class description , self subDirectoryString \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/morphicOpen..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/morphicOpen..st index 43dc3ffe..761aa944 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/morphicOpen..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/morphicOpen..st @@ -1,3 +1,5 @@ interface morphicOpen: aWorkingCopy - (MCFileTreeGitRepositoryInspector repository: self workingCopy: aWorkingCopy) show \ No newline at end of file + (MCFileTreeGitRepositoryInspector + repository: self + workingCopy: aWorkingCopy) show \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionFromPackageEntry..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionFromPackageEntry..st deleted file mode 100644 index 4a2087b5..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionFromPackageEntry..st +++ /dev/null @@ -1,29 +0,0 @@ -accessing -packageDescriptionFromPackageEntry: packageEntry - | filename extension packageDirectory | - packageDirectory := self fileDirectoryOn: packageEntry. - filename := self fileUtils current directoryName: packageDirectory. - extension := filename - copyFrom: (filename lastIndexOf: $.) - to: filename size. - ^ ((self packageExtension ~= '.package' - and: - [ (self fileUtils - filePathExists: 'version' - relativeTo: packageDirectory) - and: - [ self fileUtils - filePathExists: 'package' - relativeTo: packageDirectory ] ]) - or: - [ | dir | - dir := self fileUtils - directoryFromPath: self class monticelloMetaDirName - relativeTo: packageDirectory. - self fileUtils directoryExists: dir ]) - ifTrue: [ self class parseEntry: packageEntry extension: extension ] - ifFalse: - [ {(filename copyFrom: 1 to: (filename lastIndexOf: $.) - 1). - 'cypress'. - 1. - packageEntry} ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionsFromReadableFileNames.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionsFromReadableFileNames.st index 6815a983..e6a2a30d 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionsFromReadableFileNames.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageDescriptionsFromReadableFileNames.st @@ -1,5 +1,13 @@ accessing packageDescriptionsFromReadableFileNames - ^ (self readableFileNames - select: [ :packageEntry | self fileUtils directoryExists: (self fileDirectoryOn: packageEntry) ]) - collect: [ :packageEntry | self packageDescriptionFromPackageEntry: packageEntry ] \ No newline at end of file + "I should avoid checking that the package is really a package in all versions; I'll cope with that if I really have to load the package later." + + "In the FileTree-derived version, I was checking on the current working tree only (but doing it for all versions of all packages). Now I'm checking only with the HEAD (and it's done in MCFileTreeGitRepository>>#readableFileNames." + + ^ self readableFileNames + collect: [ :packageEntry | + self class + parseEntry: packageEntry + extension: + (packageEntry packageDirectory + in: [ :s | s copyFrom: (s lastIndexOf: $.) to: s size ]) ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageExtension.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageExtension.st new file mode 100644 index 00000000..c611ca73 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/packageExtension.st @@ -0,0 +1,7 @@ +accessing-repository +packageExtension + "Protect against a recursion bug on repository properties" + + ^ (repositoryProperties + ifNotNil: [ :p | p at: 'packageExtension' ifAbsent: [ ] ]) + ifNil: [ '.package' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/propertyFileExtension.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/propertyFileExtension.st new file mode 100644 index 00000000..e1a7150e --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/propertyFileExtension.st @@ -0,0 +1,7 @@ +accessing-repository +propertyFileExtension + "Protect against a recursion bug on repository properties" + + ^ (repositoryProperties + ifNotNil: [ :p | p at: 'propertyFileExtension' ifAbsent: [ ] ]) + ifNil: [ self class defaultPropertyFileExtension ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/repositoryProperties.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/repositoryProperties.st index cf11a565..de7cdab5 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/repositoryProperties.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/repositoryProperties.st @@ -1,16 +1,15 @@ accessing-repository repositoryProperties + "Beware: that code has a bad case of hidden recursion inside (defaultRepositoryProperties will call repositoryProperties)." + repositoryProperties - ifNil: [ + ifNil: [ | entries | repositoryProperties := Dictionary new. - (self fileUtils directoryExists: directory) - ifFalse: [ - self - error: - 'gitfiletree:// repository ' , (self fileUtils directoryPathString: self directory) printString , ' does not exist.' ]. - (self directory entries detect: [ :entry | entry name = '.filetree' ] ifNone: [ ]) - ifNil: [ - repositoryProperties := self defaultRepositoryProperties. + entries := self gitEntriesFor: self subDirectoryString. + (entries detect: [ :entry | entry name = '.filetree' ] ifNone: [ ]) + ifNil: [ repositoryProperties := self defaultRepositoryProperties. self writeRepositoryProperties ] - ifNotNil: [ :configEntry | configEntry readStreamDo: [ :fileStream | repositoryProperties := STON fromStream: fileStream ] ] ]. + ifNotNil: [ :configEntry | + repositoryProperties := STON + fromString: (self gitCatFile: configEntry object) ] ]. ^ repositoryProperties \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/shortDirectoryDescription.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/shortDirectoryDescription.st index b3d50526..c1b7adf2 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/shortDirectoryDescription.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/shortDirectoryDescription.st @@ -1,3 +1,4 @@ descriptions shortDirectoryDescription - ^ ((directory fileSystem resolve: directory path) segments last: 2) in: [ :s | s first , '/' , s last ] \ No newline at end of file + ^ ((directory fileSystem resolve: directory path) segments last: 2) + in: [ :s | s first , '/' , s last ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/subDirectoryString.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/subDirectoryString.st new file mode 100644 index 00000000..b0107fc1 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/subDirectoryString.st @@ -0,0 +1,12 @@ +accessing +subDirectoryString + "relative path of the repository inside the git repository." + + ^ subDirectoryString + ifNil: [ subDirectoryString := String + streamContents: [ :s | + (directory asAbsolute relativeTo: self gitTopDirectory) segments + do: [ :e | + s + nextPutAll: e; + nextPut: $/ ] ] ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/tag.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/tag.st deleted file mode 100644 index d1424668..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/tag.st +++ /dev/null @@ -1,3 +0,0 @@ -private -tag - ^ '^6c776b42^' \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFrom..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFrom..st index 0634dcfe..9e0650fc 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFrom..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFrom..st @@ -7,9 +7,13 @@ versionFrom: aVersionReferenceAsString "Since gofer is text based, we can't give him git entries, but strings and those are then rematched to get the right entry." | mcR packageName entry | - packageName := (self class parseName: aVersionReferenceAsString) first , self packageExtension. + packageName := (self class parseName: aVersionReferenceAsString) + first , self packageExtension. mcR := MCFileTreeGitStReader on: directory fileName: packageName. - mcR commitID: (entry := self allFileNames detect: [ :e | e name = aVersionReferenceAsString ]) commitID. + mcR + commitID: + (entry := self allFileNames + detect: [ :e | e name = aVersionReferenceAsString ]) commitID. mcR info: entry info. mcR repository: self. ^ mcR version \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromFileNamed..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromFileNamed..st index 97d4f0f5..4e6fbdbd 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromFileNamed..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromFileNamed..st @@ -5,8 +5,11 @@ versionFromFileNamed: aGitFileTreePackageEntry "Will change when we will be reading the version directly from the git. This change is underway and should work." | mcR packageName | - self assert: aGitFileTreePackageEntry class == GitFileTreePackageEntry. - packageName := (self class parseName: aGitFileTreePackageEntry info name) first , self packageExtension. + self + assert: aGitFileTreePackageEntry class == GitFileTreePackageEntry. + packageName := (self class + parseName: aGitFileTreePackageEntry info name) first + , self packageExtension. mcR := MCFileTreeGitStReader on: directory fileName: packageName. mcR commitID: aGitFileTreePackageEntry commitID. mcR info: aGitFileTreePackageEntry info. diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromPackageName.commit..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromPackageName.commit..st index 353e2841..4377d2df 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromPackageName.commit..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionFromPackageName.commit..st @@ -5,17 +5,23 @@ versionFromPackageName: aPackageName commit: aCommitID | entry mcR packageDirectoryName entries | packageDirectoryName := aPackageName , self packageExtension. (cacheFileNames and: [ allFileNames notNil ]) - ifTrue: [ entries := allFileNames select: [ :each | each packageDirectory = packageDirectoryName ] ] - ifFalse: [ entries := self getVersionsForPackageDirectoryName: packageDirectoryName ]. - entry := entries detect: [ :each | each commitID = aCommitID ] ifNone: [ ]. + ifTrue: [ entries := allFileNames + select: [ :each | each packageDirectory = packageDirectoryName ] ] + ifFalse: [ entries := self + getVersionsForPackageDirectoryName: packageDirectoryName ]. + entry := entries + detect: [ :each | each commitID = aCommitID ] + ifNone: [ ]. entry - ifNil: [ - | cid a | + ifNil: [ | cid a | a := self loadAncestry. cid := (a at: aCommitID) first. - [ (entry := entries detect: [ :each | each commitID = cid ] ifNone: [ ]) isNil ] - whileTrue: [ cid := (a at: cid) first ] ]. - mcR := MCFileTreeGitStReader on: directory fileName: packageDirectoryName. + [ (entry := entries + detect: [ :each | each commitID = cid ] + ifNone: [ ]) isNil ] whileTrue: [ cid := (a at: cid) first ] ]. + mcR := MCFileTreeGitStReader + on: directory + fileName: packageDirectoryName. mcR commitID: entry commitID. mcR info: entry info. mcR repository: self. diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionInfoFromFileNamed..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionInfoFromFileNamed..st index 17f31afb..1f75c38a 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionInfoFromFileNamed..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionInfoFromFileNamed..st @@ -6,8 +6,11 @@ versionInfoFromFileNamed: aGitFileTreePackageEntry | mcR packageName | self deprecated: 'I do not answer to queries by filenames'. - self assert: aGitFileTreePackageEntry class == GitFileTreePackageEntry. - packageName := (self class parseName: aGitFileTreePackageEntry info name) first , self packageExtension. + self + assert: aGitFileTreePackageEntry class == GitFileTreePackageEntry. + packageName := (self class + parseName: aGitFileTreePackageEntry info name) first + , self packageExtension. mcR := MCFileTreeGitStReader on: directory fileName: packageName. mcR commitID: aGitFileTreePackageEntry commitID. mcR info: aGitFileTreePackageEntry info. diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionWithAllDependencies..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionWithAllDependencies..st new file mode 100644 index 00000000..99362877 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/versionWithAllDependencies..st @@ -0,0 +1,11 @@ +private +versionWithAllDependencies: aVersion + | deps | + deps := OrderedCollection with: aVersion. + MCCacheRepository uniqueInstance + cacheAllFileNamesDuring: [ self + cacheAllFileNamesDuring: [ aVersion + allAvailableDependenciesDo: [ :dep | + (self includesVersionNamed: dep info name) + ifFalse: [ deps add: dep ] ] ] ]. + ^ deps \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeGitFileTreeProperties..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeGitFileTreeProperties..st index afee4eb8..35ecd217 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeGitFileTreeProperties..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeGitFileTreeProperties..st @@ -1,17 +1,17 @@ i/o writeGitFileTreeProperties: aPackageDirectory - "Write git file tree properties with a package." + "Write git file tree properties with a package. Only needed when in metadata mode." self fileUtils writeStreamFor: self class gitPerPackageProperties - in: (self fileUtils directoryFromPath: 'monticello.meta' relativeTo: aPackageDirectory) + in: + (self fileUtils + directoryFromPath: 'monticello.meta' + relativeTo: aPackageDirectory) do: [ :fileStream | - fileStream lineEndConvention: #lf. - fileStream nextPutAll: '{'. - fileStream - nextPut: $"; - nextPutAll: 'SingleCommitForDependencies'; - nextPutAll: '" : "'; - nextPutAll: 'true'; - nextPut: $". - fileStream nextPutAll: ' }' ] \ No newline at end of file + STON + put: + (Dictionary new + at: 'SingleCommitForDependencies' put: 'true'; + yourself) + asJsonOnStreamPretty: fileStream ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeRepositoryProperties.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeRepositoryProperties.st index 2986d463..f90e34d4 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeRepositoryProperties.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/instance/writeRepositoryProperties.st @@ -2,6 +2,19 @@ i/o writeRepositoryProperties "When writing the repository properties, commit them as well." - super writeRepositoryProperties. - self gitCommand: #('add' '.filetree') in: directory. - self gitCommand: #('commit' '-m' 'gitfiletree repository properties') in: directory \ No newline at end of file + | string | + string := MCGitFileTreeWriter + fileOutSingleFile: self subDirectoryString , '.filetree' + in: self + with: (STON toJsonStringPretty: self repositoryProperties). + self gitCommand: #('fast-import') withInput: string contents. + self + gitCommand: + {'reset'. + 'HEAD'. + (self subDirectoryString , '.filetree')}. + self + gitCommand: + {'checkout'. + 'HEAD'. + (self subDirectoryString , '.filetree')} \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/methodProperties.json index 3e79da5f..eaf8c8db 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/methodProperties.json +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/methodProperties.json @@ -1,90 +1,107 @@ { "instance" : { - "hasMetadata" : "ThierryGoubier 4/30/2016 11:46:50", - "shortDirectoryDescription" : "ThierryGoubier 4/30/2016 11:46:50", - "subdirectory" : "ThierryGoubier 4/30/2016 11:46:50", - "branch:" : "ThierryGoubier 4/30/2016 11:46:50", - "writeGitFileTreeProperties:" : "ThierryGoubier 4/30/2016 11:46:50", - "currentBranch" : "ThierryGoubier 4/30/2016 11:46:50", - "storeDependencies:" : "ThierryGoubier 4/30/2016 11:46:50", - "versionFromFileNamed:" : "ThierryGoubier 4/30/2016 11:46:50", - "versionFromPackageName:commit:" : "ThierryGoubier 4/30/2016 11:46:50", - "tag" : "ThierryGoubier 4/30/2016 11:46:50", - "basicStoreVersions:" : "ThierryGoubier 11/27/2016 15:49", - "fileDirectoryOn:" : "ThierryGoubier 4/30/2016 11:46:50", - "internalStoreDependencies:" : "ThierryGoubier 4/30/2016 11:46:50", - "getShortCommitID:" : "ThierryGoubier 9/27/2016 22:30", - "shortRemoteDescription" : "ThierryGoubier 4/30/2016 11:46:50", - "setWithMetadata" : "ThierryGoubier 4/30/2016 11:46:50", - "loadAncestry" : "ThierryGoubier 4/30/2016 11:46:50", - "gitCommand" : "ThierryGoubier 4/30/2016 11:46:50", - "internalStoreVersion:" : "ThierryGoubier 4/30/2016 11:46:50", - "basicStoreVersion:" : "ThierryGoubier 11/27/2016 18:34", - "remoteUrl:" : "ThierryGoubier 4/30/2016 11:46:50", - "versionInfoFromVersionNamed:" : "ThierryGoubier 8/26/2016 17:20", - "gitVersions" : "ThierryGoubier 4/30/2016 11:46:50", - "gitCommand:in:" : "ThierryGoubier 4/30/2016 11:46:50", - "repositoryProperties" : "ThierryGoubier 6/3/2016 14:04", - "subdirectory:" : "ThierryGoubier 4/30/2016 11:46:50", - "cacheAllFileNames" : "ThierryGoubier 4/30/2016 11:46:50", - "remoteUrl" : "ThierryGoubier 4/30/2016 11:46:50", - "storeVersions:" : "ThierryGoubier 11/24/2016 20:59", - "isGitRepository:" : "ThierryGoubier 4/30/2016 11:46:50", - "versionFromRepositoryFromFileNamed:" : "ThierryGoubier 4/30/2016 11:46:50", - "packageDescriptionsFromReadableFileNames" : "ThierryGoubier 4/30/2016 11:46:50", - "gitVersionsForDefinition:in:" : "ThierryGoubier 4/30/2016 11:46:50", - "packageDescriptionFromPackageEntry:" : "ThierryGoubier 4/30/2016 11:46:50", - "gitBranchs" : "ThierryGoubier 4/30/2016 11:46:50", - "versionFrom:" : "ThierryGoubier 4/30/2016 11:46:50", - "gitNeedPush" : "ThierryGoubier 4/30/2016 11:46:50", - "filterFileNames:forVersionNamed:" : "ThierryGoubier 4/30/2016 11:46:50", - "versionInfoFromFileNamed:" : "ThierryGoubier 4/30/2016 11:46:50", - "versionNameFromFileName:" : "ThierryGoubier 4/30/2016 11:46:50", - "writeRepositoryProperties" : "ThierryGoubier 4/30/2016 11:46:50", - "loadAllFileNames" : "ThierryGoubier 4/30/2016 11:46:50", - "gitCloneRepositoryAndCheckoutIn:" : "ThierryGoubier 4/30/2016 11:46:50", - "getVersionsForPackageDirectoryEntry:" : "ThierryGoubier 4/30/2016 11:46:50", - "directory:" : "ThierryGoubier 4/30/2016 11:46:50", - "morphicOpen:" : "ThierryGoubier 4/30/2016 11:46:50", - "allVersionNames" : "ThierryGoubier 4/30/2016 11:46:50", - "readableFileNames" : "ThierryGoubier 4/30/2016 11:46:50", - "versionInfoFromVersionsNamed:" : "ThierryGoubier 11/27/2016 15:54", - "getVersionsForPackageDirectoryName:" : "ThierryGoubier 9/29/2016 20:02", - "branch" : "ThierryGoubier 4/30/2016 11:46:50", - "description" : "ThierryGoubier 4/30/2016 11:46:50", - "gitVersionsForPackage:" : "ThierryGoubier 4/30/2016 11:46:50", - "allFileNames" : "ThierryGoubier 4/30/2016 11:46:50", - "gitPull" : "ThierryGoubier 4/30/2016 11:46:50", - "setNoMetadata" : "ThierryGoubier 4/30/2016 11:46:50", - "escapeForShell:" : "ThierryGoubier 4/30/2016 11:46:50", - "defaultRepositoryProperties" : "ThierryGoubier 4/30/2016 11:46:50", - "gitPush" : "ThierryGoubier 4/30/2016 11:46:50", - "location" : "ThierryGoubier 4/27/2017 19:00" + "hasMetadata" : "ThierryGoubier 2/28/2018 21:10:57", + "gitEntriesFor:" : "ThierryGoubier 3/11/2018 18:33", + "location" : "ThierryGoubier 3/11/2018 15:52", + "branch:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitTopDirectory" : "ThierryGoubier 3/11/2018 21:57", + "currentBranch" : "ThierryGoubier 3/3/2018 11:46", + "shortDirectoryDescription" : "ThierryGoubier 3/11/2018 15:53", + "gitAuthorEmail" : "ThierryGoubier 3/11/2018 18:32", + "storeDependencies:" : "ThierryGoubier 2/28/2018 21:10:57", + "subDirectoryString" : "ThierryGoubier 3/11/2018 15:49", + "subdirectory" : "ThierryGoubier 2/28/2018 21:10:57", + "basicStoreVersions:" : "ThierryGoubier 2/28/2018 22:47", + "fileDirectoryOn:" : "ThierryGoubier 3/11/2018 00:05", + "gitAuthorName" : "ThierryGoubier 3/11/2018 18:33", + "internalStoreDependencies:" : "ThierryGoubier 2/28/2018 21:10:57", + "getShortCommitID:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitCommand:" : "ThierryGoubier 3/11/2018 18:32", + "packageExtension" : "ThierryGoubier 3/3/2018 08:47", + "shortRemoteDescription" : "ThierryGoubier 2/28/2018 21:10:57", + "versionFromFileNamed:" : "ThierryGoubier 3/3/2018 18:04", + "versionFromPackageName:commit:" : "ThierryGoubier 3/3/2018 18:05", + "versionWithAllDependencies:" : "ThierryGoubier 2/28/2018 22:37", + "writeGitFileTreeProperties:" : "ThierryGoubier 3/3/2018 11:57", + "authorEmail:" : "ThierryGoubier 2/28/2018 22:36", + "setWithMetadata" : "ThierryGoubier 2/28/2018 21:10:57", + "loadAncestry" : "ThierryGoubier 2/28/2018 21:10:57", + "gitCatFile:" : "ThierryGoubier 3/11/2018 18:33", + "gitCommand" : "ThierryGoubier 2/28/2018 21:10:57", + "internalStoreVersion:" : "ThierryGoubier 2/28/2018 23:41", + "basicStoreVersion:" : "ThierryGoubier 2/28/2018 22:45", + "remoteUrl:" : "ThierryGoubier 2/28/2018 21:10:57", + "versionInfoFromVersionNamed:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitVersions" : "ThierryGoubier 3/11/2018 18:29", + "gitCommand:in:" : "ThierryGoubier 2/28/2018 21:10:57", + "fiStoreVersions:" : "ThierryGoubier 3/11/2018 18:38", + "repositoryProperties" : "ThierryGoubier 3/11/2018 15:45", + "subdirectory:" : "ThierryGoubier 2/28/2018 21:10:57", + "cacheAllFileNames" : "ThierryGoubier 2/28/2018 21:10:57", + "remoteUrl" : "ThierryGoubier 2/28/2018 21:10:57", + "authorName:" : "ThierryGoubier 2/28/2018 22:37", + "isGitRepository:" : "ThierryGoubier 3/11/2018 18:36", + "storeVersions:" : "ThierryGoubier 2/28/2018 21:10:57", + "versionFromRepositoryFromFileNamed:" : "ThierryGoubier 2/28/2018 21:10:57", + "packageDescriptionsFromReadableFileNames" : "ThierryGoubier 3/11/2018 15:43", + "gitVersionsForDefinition:in:" : "ThierryGoubier 3/11/2018 18:34", + "gitBranchs" : "ThierryGoubier 3/11/2018 18:33", + "versionFrom:" : "ThierryGoubier 3/3/2018 18:04", + "gitNeedPush" : "ThierryGoubier 3/11/2018 18:33", + "filterFileNames:forVersionNamed:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitCommand:withInput:" : "ThierryGoubier 3/11/2018 18:37", + "versionInfoFromFileNamed:" : "ThierryGoubier 3/3/2018 18:05", + "versionNameFromFileName:" : "ThierryGoubier 2/28/2018 21:10:57", + "writeRepositoryProperties" : "ThierryGoubier 3/11/2018 22:09", + "loadAllFileNames" : "ThierryGoubier 3/11/2018 23:32", + "gitCloneRepositoryAndCheckoutIn:" : "ThierryGoubier 2/28/2018 21:10:57", + "directory:" : "ThierryGoubier 3/11/2018 16:03", + "propertyFileExtension" : "ThierryGoubier 3/3/2018 08:48", + "morphicOpen:" : "ThierryGoubier 3/11/2018 16:21", + "allVersionNames" : "ThierryGoubier 2/28/2018 21:10:57", + "readableFileNames" : "ThierryGoubier 2/28/2018 21:10:57", + "versionInfoFromVersionsNamed:" : "ThierryGoubier 2/28/2018 21:10:57", + "getVersionsForPackageDirectoryName:" : "ThierryGoubier 3/11/2018 23:38", + "branch" : "ThierryGoubier 2/28/2018 21:10:57", + "fiStoreVersion:" : "ThierryGoubier 2/28/2018 22:44", + "allFileNames" : "ThierryGoubier 2/28/2018 21:10:57", + "description" : "ThierryGoubier 3/3/2018 18:09", + "gitPull" : "ThierryGoubier 3/11/2018 18:33", + "gitVersionsForPackage:" : "ThierryGoubier 3/11/2018 21:00", + "setNoMetadata" : "ThierryGoubier 2/28/2018 21:10:57", + "escapeForShell:" : "ThierryGoubier 2/28/2018 21:10:57", + "defaultRepositoryProperties" : "ThierryGoubier 3/3/2018 09:19", + "gitPush" : "ThierryGoubier 3/11/2018 18:33", + "canReadFileNamed:" : "ThierryGoubier 3/11/2018 16:20" }, "class" : { + "runGitCommand:in:withInput:" : "ThierryGoubier 2/28/2018 21:10:57", "runOSProcessGitCommand:in:" : "ThierryGoubier 4/30/2016 11:46:50", - "extractPath:" : "ThierryGoubier 4/30/2016 11:46:50", - "runGitCommand:in:" : "ThierryGoubier 4/30/2016 11:46:50", - "namesMap" : "ThierryGoubier 4/30/2016 11:46:50", - "runProcessWrapperGitCommand:in:" : "ThierryGoubier 4/30/2016 11:46:50", - "namesMap:" : "ThierryGoubier 4/30/2016 11:46:50", - "urlAsFileReference:" : "ThierryGoubier 4/30/2016 11:46:50", - "extractDir:" : "ThierryGoubier 4/30/2016 11:46:50", - "gitSettingsOn:" : "ThierryGoubier 5/1/2016 11:02", - "gitCommand:" : "ThierryGoubier 4/30/2016 11:46:50", - "namesAt:ifAbsent:" : "ThierryGoubier 4/30/2016 11:46:50", - "basicFromUrl:" : "ThierryGoubier 4/30/2016 11:46:50", - "monticelloMetaDirName" : "ThierryGoubier 4/30/2016 11:46:50", - "runOSSubprocessGitCommand:in:" : "ThierryGoubier 4/30/2016 11:46:50", - "gitCommand" : "ThierryGoubier 4/30/2016 11:46:50", - "defaultDirectoryName" : "ThierryGoubier 4/30/2016 11:46:50", - "description" : "ThierryGoubier 4/30/2016 11:46:50", - "parseEntry:extension:" : "ThierryGoubier 4/30/2016 11:46:50", - "namesAt:put:email:" : "ThierryGoubier 10/3/2016 14:04:33", - "parseName:extension:" : "ThierryGoubier 4/30/2016 11:46:50", - "namesAt:" : "ThierryGoubier 4/30/2016 11:46:50", - "gitPerPackageProperties" : "ThierryGoubier 4/30/2016 11:46:50", - "extractBranch:" : "ThierryGoubier 4/30/2016 11:46:50", - "urlSchemes" : "ThierryGoubier 4/30/2016 11:46:50" + "extractPath:" : "ThierryGoubier 2/28/2018 21:10:57", + "runGitCommand:in:" : "ThierryGoubier 2/28/2018 21:10:57", + "namesMap" : "ThierryGoubier 2/28/2018 21:10:57", + "runProcessWrapperGitCommand:in:" : "ThierryGoubier 2/28/2018 21:10:57", + "runProcessWrapperGitCommand:in:withInput:" : "ThierryGoubier 3/1/2018 23:36", + "namesMap:" : "ThierryGoubier 2/28/2018 21:10:57", + "urlAsFileReference:" : "ThierryGoubier 2/28/2018 21:10:57", + "extractDir:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitSettingsOn:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitCommand:" : "ThierryGoubier 2/28/2018 21:10:57", + "namesAt:ifAbsent:" : "ThierryGoubier 2/28/2018 21:10:57", + "basicFromUrl:" : "ThierryGoubier 2/28/2018 21:10:57", + "monticelloMetaDirName" : "ThierryGoubier 2/28/2018 21:10:57", + "runOSSubprocessGitCommand:in:" : "ThierryGoubier 2/28/2018 21:10:57", + "runOSProcessGitCommand:in:withInput:" : "ThierryGoubier 3/3/2018 12:00", + "gitCommand" : "ThierryGoubier 2/28/2018 21:10:57", + "runOSSubprocessGitCommand:in:withInput:" : "ThierryGoubier 3/10/2018 21:36:48", + "defaultDirectoryName" : "ThierryGoubier 2/28/2018 21:10:57", + "description" : "ThierryGoubier 2/28/2018 21:10:57", + "parseEntry:extension:" : "ThierryGoubier 2/28/2018 21:10:57", + "namesAt:put:email:" : "ThierryGoubier 2/28/2018 21:10:57", + "parseName:extension:" : "ThierryGoubier 2/28/2018 21:10:57", + "namesAt:" : "ThierryGoubier 2/28/2018 21:10:57", + "gitPerPackageProperties" : "ThierryGoubier 2/28/2018 21:10:57", + "extractBranch:" : "ThierryGoubier 2/28/2018 21:10:57", + "urlSchemes" : "ThierryGoubier 2/28/2018 21:10:57" } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/properties.json b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/properties.json index d73865b7..af45b894 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/properties.json +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepository.class/properties.json @@ -11,7 +11,11 @@ "instvars" : [ "remoteUrl", "branch", - "subdirectory" + "subdirectory", + "gitAuthorName", + "gitAuthorEmail", + "gitTopLevelDirectory", + "subDirectoryString" ], "name" : "MCFileTreeGitRepository", "type" : "normal" diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/instance/refresh.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/instance/refresh.st index 048a02eb..4567a5ae 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/instance/refresh.st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/instance/refresh.st @@ -9,17 +9,23 @@ refresh | latestVersions | loadedPackages add: eachManager packageName. eachManager ancestors do: [ :each | loaded add: each name ]. - latestVersions := versions select: [ :each | each first beginsWith: eachManager packageName ]. + latestVersions := versions + select: [ :each | each first beginsWith: eachManager packageName ]. latestVersions do: [ :eachVersion | | maxVersionWithAncestors | - maxVersionWithAncestors := eachManager ancestors max: #versionNumber. + maxVersionWithAncestors := eachManager ancestors + max: #versionNumber. eachManager ancestors do: [ :eachAncestor | - eachVersion fourth info = eachAncestor - ifTrue: [ eachAncestor loadAncestorsAndStepChildrenFrom: eachVersion fourth info ]. - (maxVersionWithAncestors < eachVersion third - or: [ eachAncestor versionNumber = eachVersion third and: [ eachAncestor author ~= eachVersion second ] ]) + (eachVersion fourth info = eachAncestor + and: [ (eachAncestor class name = #IceMCVersionInfo) not ]) + ifTrue: [ eachAncestor + loadAncestorsAndStepChildrenFrom: eachVersion fourth info ]. + ((maxVersionWithAncestors notNil + and: [ maxVersionWithAncestors < eachVersion third ]) + or: [ eachAncestor versionNumber = eachVersion third + and: [ eachAncestor author ~= eachVersion second ] ]) ifTrue: [ newer add: eachVersion last ] ] ] ]. self packageListUpdate. repository branch: nil. diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/methodProperties.json index cf1c3fc3..1c6e1a2b 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/methodProperties.json +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitRepositoryInspector.class/methodProperties.json @@ -10,7 +10,7 @@ "gitNeedPush" : "ThierryGoubier 4/30/2016 11:46:50", "gitPush" : "ThierryGoubier 4/30/2016 11:46:50", "versionHighlightEmphasis:" : "ThierryGoubier 4/30/2016 11:46:50", - "refresh" : "ThierryGoubier 4/30/2016 11:46:50", + "refresh" : "ThierryGoubier 3/11/2018 16:05", "versionSummary" : "ThierryGoubier 4/30/2016 11:46:50", "versionHighlight:" : "ThierryGoubier 4/30/2016 11:46:50" }, diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/README.md b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/README.md deleted file mode 100644 index 14b4c193..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/README.md +++ /dev/null @@ -1 +0,0 @@ -Remove writing of method properties. \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/class/on..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/class/on..st deleted file mode 100644 index 8df4e912..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/class/on..st +++ /dev/null @@ -1,5 +0,0 @@ -instance creation -on: aStream - "Short circuit superclass dispatch?" - - ^ self new stream: aStream \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeClassDefinition.to..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeClassDefinition.to..st deleted file mode 100644 index e8935df9..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeClassDefinition.to..st +++ /dev/null @@ -1,12 +0,0 @@ -writing -writeClassDefinition: definition to: classPath - self - writeInDirectoryName: classPath - fileName: 'README' - extension: '.md' - visit: [ self writeClassComment: definition ]. - self - writeInDirectoryName: classPath - fileName: 'properties' - extension: self propertyFileExtension - visit: [ self writeClassDefinition: definition ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeDefinitions..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeDefinitions..st deleted file mode 100644 index 507df03f..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeDefinitions..st +++ /dev/null @@ -1,67 +0,0 @@ -writing -writeDefinitions: aCollection - | classDirExtension extensionClasses extensionMethodDefinitions extensionMethodMap methodHolders | - self writeBasicDefinitions: aCollection. - extensionClasses := OrderedCollection new. - extensionMethodDefinitions := OrderedCollection new. - methodHolders := self classDefinitions , self traitDefinitions. - self methodDefinitions - keysAndValuesDo: - [ :className :extensionMethods | - methodHolders - at: className - ifAbsent: - [ extensionClasses add: className. - extensionMethodDefinitions addAll: extensionMethods ] ]. - extensionClasses - do: [ :className | self methodDefinitions removeKey: className ]. - self - writeMethodHolderDefinitions: self traitDefinitions - extension: '.trait' - to: '' - do: - [ :definition :classPath | self writeTraitDefinition: definition to: classPath ]. - self - writeMethodHolderDefinitions: self classDefinitions - extension: '.class' - to: '' - do: - [ :definition :classPath | self writeClassDefinition: definition to: classPath ]. - classDirExtension := '.extension'. - extensionMethodMap := Dictionary new. - extensionMethodDefinitions - do: - [ :methodDefinition | - | classPath | - (extensionMethodMap - at: methodDefinition className - ifAbsent: - [ extensionMethodMap - at: methodDefinition className - put: OrderedCollection new ]) add: methodDefinition. - classPath := methodDefinition className , classDirExtension - , self fileUtils pathNameDelimiter asString. - self writeExtensionClassDefinition: methodDefinition to: classPath ]. - extensionMethodMap - keysAndValuesDo: - [ :className :classMethodDefinitions | - | classPath filenameMetaMap | - filenameMetaMap := self fileNameMapFor: classMethodDefinitions. - classMethodDefinitions - do: - [ :methodDefinition | - | filename methodPath | - filename := (filenameMetaMap at: methodDefinition classIsMeta) - at: methodDefinition selector. - classPath := methodDefinition className , classDirExtension - , self fileUtils pathNameDelimiter asString. - methodPath := classPath - , - (methodDefinition classIsMeta - ifTrue: [ 'class' ] - ifFalse: [ 'instance' ]) - , self fileUtils pathNameDelimiter asString. - self - writeMethodDefinition: methodDefinition - to: methodPath - filename: filename ] ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeMethodProperties..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeMethodProperties..st deleted file mode 100644 index 3b235cc5..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeMethodProperties..st +++ /dev/null @@ -1,5 +0,0 @@ -writing -writeMethodProperties: classMethodDefinitions - "We don't want to write that." - - self shouldNotImplement \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeTraitDefinition.to..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeTraitDefinition.to..st deleted file mode 100644 index cb61bcc3..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/instance/writeTraitDefinition.to..st +++ /dev/null @@ -1,12 +0,0 @@ -writing -writeTraitDefinition: definition to: classPath - self - writeInDirectoryName: classPath - fileName: 'README' - extension: '.md' - visit: [ self writeClassComment: definition ]. - self - writeInDirectoryName: classPath - fileName: 'properties' - extension: self propertyFileExtension - visit: [ self writeTraitDefinition: definition ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/methodProperties.json deleted file mode 100644 index 18eab6b4..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/methodProperties.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "instance" : { - "writeTraitDefinition:to:" : "ThierryGoubier 4/30/2016 11:46:50", - "writeMethodProperties:" : "ThierryGoubier 4/30/2016 11:46:50", - "writeClassDefinition:to:" : "ThierryGoubier 4/30/2016 11:46:50", - "writeDefinitions:" : "ThierryGoubier 4/30/2016 11:46:50" - }, - "class" : { - "on:" : "ThierryGoubier 4/30/2016 11:46:50" - } -} \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/instance/loadDefinitionFor..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/instance/loadDefinitionFor..st index 000fcdc2..37a356fd 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/instance/loadDefinitionFor..st +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/instance/loadDefinitionFor..st @@ -4,7 +4,7 @@ loadDefinitionFor: aMCDefinition | classPropertiesDict entries classEntry | definitions := OrderedCollection new. - self zipForDefinition: aMCDefinition. + [self zipForDefinition: aMCDefinition] on: MCFileTreeGitError do: [:ex | ^ nil ]. classEntry := packageDirectory , self slash , aMCDefinition className , '.class/'. entries := self zip members select: [ :entry | entry isDirectory not and: [ entry fileName beginsWith: classEntry ] ]. entries isEmpty diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/methodProperties.json index 1c82595d..0ba83567 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/methodProperties.json +++ b/repository/MonticelloFileTree-Git.package/MCFileTreeGitStReader.class/methodProperties.json @@ -3,19 +3,19 @@ "addExtensionClassAndMethodDefinitionsFromEntry:" : "ThierryGoubier 6/3/2016 14:04", "loadVersionInfo:" : "ThierryGoubier 4/30/2016 11:46:50", "zip" : "ThierryGoubier 4/30/2016 11:46:50", - "loadDependencies" : "ThierryGoubier 4/30/2016 11:46:50", + "loadDependencies" : "ThierryGoubier 2/28/2018 21:10:57", "addDefinitionFromFile:inDirectory:" : "ThierryGoubier 4/30/2016 11:46:50", "zipEntryContents:" : "ThierryGoubier 4/30/2016 11:46:50", "zipForDefinition:" : "ThierryGoubier 4/30/2016 11:46:50", "commitID:" : "ThierryGoubier 4/30/2016 11:46:50", - "loadDefinitionFor:" : "ThierryGoubier 6/3/2016 14:04", + "loadDefinitionFor:" : "ThierryGoubier 3/3/2018 19:44", "definitionFromFile:inDirectory:" : "ThierryGoubier 4/30/2016 11:46:50", "definitionFromEntry:" : "ThierryGoubier 4/30/2016 11:46:50", "addClassAndMethodDefinitions" : "ThierryGoubier 4/30/2016 11:46:50", "isPropertyFile:" : "ThierryGoubier 4/30/2016 11:46:50", "addDefinitionFromEntry:" : "ThierryGoubier 4/30/2016 11:46:50", "hasMonticelloMetadata" : "ThierryGoubier 4/30/2016 11:46:50", - "gitCommand:in:" : "ThierryGoubier 4/30/2016 11:46:50", + "gitCommand:in:" : "ThierryGoubier 2/28/2018 21:10:57", "commitID" : "ThierryGoubier 4/30/2016 11:46:50", "addMethodDefinitionsForClass:methodProperties:in:" : "ThierryGoubier 4/30/2016 11:46:50", "info" : "ThierryGoubier 4/30/2016 11:46:50", diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/README.md b/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/README.md deleted file mode 100644 index 04a60714..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/README.md +++ /dev/null @@ -1 +0,0 @@ -I just avoid writing the metadata if my repository is without metadata. \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/instance/snapshotWriterClass.st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/instance/snapshotWriterClass.st deleted file mode 100644 index 5105e82a..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/instance/snapshotWriterClass.st +++ /dev/null @@ -1,3 +0,0 @@ -accessing -snapshotWriterClass - ^ MCFileTreeGitStCypressWriter \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/instance/writeVersion..st b/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/instance/writeVersion..st deleted file mode 100644 index 63bcbc6f..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/instance/writeVersion..st +++ /dev/null @@ -1,14 +0,0 @@ -visiting -writeVersion: aVersion - "We have to do that to avoid writing the version info." - - | members | - directory := (members := MCFileTreeRepository - parseName: aVersion info name) last. - self deleteExistingPackageStructureFor: members. - self fileUtils ensureDirectoryExists: self packageFileDirectory. - self initializePackageFileDirectoryCache. - self writeFormat. - self writePackage: aVersion package. - self writeDefinitions: aVersion. - aVersion dependencies do: [ :ea | self writeVersionDependency: ea ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/methodProperties.json deleted file mode 100644 index f49d406b..00000000 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitWriter.class/methodProperties.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "instance" : { - "snapshotWriterClass" : "ThierryGoubier 4/30/2016 11:46:50", - "writeVersion:" : "ThierryGoubier 4/30/2016 11:46:50" - }, - "class" : { } -} \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/README.md b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/README.md new file mode 100644 index 00000000..76592dbe --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/README.md @@ -0,0 +1,15 @@ +I write a package in filetree format as a git fast-import command. + +My API includes the necessary code to start a commit and to end it (usefull for writing multiple packages in one commit, i.e. it has a save multiple versions entry). + +It is cut from the MCWriter and friends hierarchy, because that hierarchy isn't properly designed for that sort of format. + +Stream is an in-memory write stream on a string. + +visiting is up to me, there is no clear pre-defined API, just that the FileTree code is working well and is a good starting point. + +The structure is very complex and confusing, with multiple objects going back and forth and messing up everything :-( + +All paths inside are strings (git fast-import only understands unix-like paths). + +Paths are local to the root of the repository. I don't know if -C would work to make paths relative inside a repository (it could help). \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/baseFileNameForSelector..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/baseFileNameForSelector..st new file mode 100644 index 00000000..40014755 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/baseFileNameForSelector..st @@ -0,0 +1,19 @@ +constants +baseFileNameForSelector: aSelectorAsSymbol + ^ (aSelectorAsSymbol includes: $:) + ifTrue: [ aSelectorAsSymbol + collect: [ :each | + each = $: + ifTrue: [ $. ] + ifFalse: [ each ] ] ] + ifFalse: [ self specials + in: [ :s2 | + (s2 includesKey: aSelectorAsSymbol first) + ifFalse: [ aSelectorAsSymbol ] + ifTrue: [ String + streamContents: [ :output | + output nextPut: $^. + aSelectorAsSymbol + do: + [ :each | output nextPutAll: (s2 at: each ifAbsent: [ each asString ]) ] + separatedBy: [ output nextPut: $. ] ] ] ] ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/fileOutAll.on..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/fileOutAll.on..st new file mode 100644 index 00000000..226aca5a --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/fileOutAll.on..st @@ -0,0 +1,27 @@ +instance creation +fileOutAll: anArrayOfVersions on: aMCFileTreeGitRepository + "Only one approach to filing out: a set of versions in one commit." + + "Small note: since we do not provide the package or the full version itself to the main writer method, we write by hand after each version some package related data that seems a relic of the old mcz format." + + | aWriter subDirectoryString | + aWriter := self new. + aWriter repository: aMCFileTreeGitRepository. + subDirectoryString := aMCFileTreeGitRepository subDirectoryString. + anArrayOfVersions first + in: [ :aVersion | + aWriter + outputCommit: (aMCFileTreeGitRepository authorName: aVersion) + email: (aMCFileTreeGitRepository authorEmail: aVersion) + time: aVersion info timeStamp + message: aVersion info message ]. + anArrayOfVersions + do: [ :each | + | packageDir | + packageDir := subDirectoryString , each package name , '.package'. + aWriter writeSnapshot: each snapshot in: packageDir. + aWriter + outputFileModify: packageDir , '/monticello.meta/package' + with: '(name ''' , each package name , ''')'. + aWriter writeDependencies: each dependencies in: packageDir ]. + ^ aWriter stream \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/fileOutSingleFile.in.with..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/fileOutSingleFile.in.with..st new file mode 100644 index 00000000..5cbdf949 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/fileOutSingleFile.in.with..st @@ -0,0 +1,12 @@ +instance creation +fileOutSingleFile: fileNameAndPath in: aMCFileTreeGitRepository with: aFileContentsAsString + | aWriter subDirectoryString | + aWriter := self new. + aWriter repository: aMCFileTreeGitRepository. + aWriter + outputCommit: aMCFileTreeGitRepository gitAuthorName + email: '<', aMCFileTreeGitRepository gitAuthorEmail, '>' + time: DateAndTime now + message: 'Writing and Commiting ' , fileNameAndPath. + aWriter outputFileModify: fileNameAndPath with: aFileContentsAsString. + ^ aWriter stream \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/specials.st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/specials.st new file mode 100644 index 00000000..123316ef --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/class/specials.st @@ -0,0 +1,21 @@ +constants +specials + | map | + map := Dictionary new: 20. + map + at: $+ put: 'plus'; + at: $- put: 'minus'; + at: $= put: 'equals'; + at: $< put: 'less'; + at: $> put: 'more'; + at: $% put: 'percent'; + at: $& put: 'and'; + at: $| put: 'pipe'; + at: $* put: 'star'; + at: $/ put: 'slash'; + at: $\ put: 'backslash'; + at: $~ put: 'tilde'; + at: $? put: 'wat'; + at: $, put: 'comma'; + at: $@ put: 'at'. + ^ map \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/baseFileNameForSelector..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/baseFileNameForSelector..st new file mode 100644 index 00000000..ae76c38c --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/baseFileNameForSelector..st @@ -0,0 +1,3 @@ +private +baseFileNameForSelector: aSelectorAsSymbol + ^ self class baseFileNameForSelector: aSelectorAsSymbol \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/buildClassDefinition..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/buildClassDefinition..st new file mode 100644 index 00000000..f4e97d98 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/buildClassDefinition..st @@ -0,0 +1,34 @@ +private-converting +buildClassDefinition: aMCClassDefinition + | properties | + properties := Dictionary new. + properties at: 'name' put: aMCClassDefinition className. + properties at: 'super' put: aMCClassDefinition superclassName. + aMCClassDefinition traitCompositionString + ifNotNil: [ :property | + "Issue #48: https://github.com/dalehenrich/filetree/issues/48" + property ~= '{}' + ifTrue: [ properties at: 'traitcomposition' put: property ] ]. + aMCClassDefinition classTraitCompositionString + ifNotNil: [ :property | + "Issue #48: https://github.com/dalehenrich/filetree/issues/48" + property ~= '{}' + ifTrue: [ properties at: 'classtraitcomposition' put: property ] ]. + properties at: 'category' put: aMCClassDefinition category. + properties + at: 'instvars' + put: aMCClassDefinition instVarNames asArray. + properties + at: 'classvars' + put: aMCClassDefinition classVarNames asArray. + properties + at: 'pools' + put: aMCClassDefinition poolDictionaries asArray. + properties + at: 'classinstvars' + put: aMCClassDefinition classInstVarNames asArray. + properties at: 'type' put: aMCClassDefinition type asString. + properties at: 'commentStamp' put: aMCClassDefinition commentStamp. + ^ (String + streamContents: [ :s | STON put: properties asJsonOnStreamPretty: s ]) + withUnixLineEndings \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/buildMethodSource..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/buildMethodSource..st new file mode 100644 index 00000000..a2f88569 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/buildMethodSource..st @@ -0,0 +1,8 @@ +private-converting +buildMethodSource: aMCMethodDefinition + ^ String + streamContents: [ :s | + s + nextPutAll: aMCMethodDefinition protocol utf8Encoded asString; + nextPut: Character lf; + nextPutAll: aMCMethodDefinition source withUnixLineEndings utf8Encoded asString ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/lf.st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/lf.st new file mode 100644 index 00000000..2ffb5a81 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/lf.st @@ -0,0 +1,3 @@ +private-fast import +lf + self stream nextPut: Character lf asciiValue \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/nextPutAll..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/nextPutAll..st new file mode 100644 index 00000000..9cfda29e --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/nextPutAll..st @@ -0,0 +1,3 @@ +private-fast import +nextPutAll: aString + ^ self stream nextPutAll: aString utf8Encoded \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputCommit.email.time.message..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputCommit.email.time.message..st new file mode 100644 index 00000000..e10aaf41 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputCommit.email.time.message..st @@ -0,0 +1,48 @@ +private-fast import +outputCommit: authorNameAsString email: authorEmailAsString time: aTimeStamp message: aString + "Output the git fast-import commit information. Get all raw values." + + "'commit' SP LF + mark? + ('author' (SP )? SP LT GT SP LF)? + 'committer' (SP )? SP LT GT SP LF + data + ('from' SP LF)? + ('merge' SP LF)? + (filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)* + LF?" + + "We use the current branch name, last commit and we add a commit on top of it." + + "commit {repositoryBranchName} + committer {authorName} <{authorEmail}> + data inline {aString size} + {aString} + from refs/heads/{repositoryBranchName}^0 + " + + "When the repository is still empty, we don't have a current branch and we will create one (and not add a from line)..." + + | branch | + branch := self repository currentBranch. + self + nextPutAll: 'commit refs/heads/'; + nextPutAll: (branch ifNil: [ 'master' ]); + lf. + self + nextPutAll: 'committer '; + nextPutAll: authorNameAsString; + space; + nextPutAll: authorEmailAsString; + space; + nextPutAll: aTimeStamp asUnixTime printString; + space; + nextPutAll: aTimeStamp offset asEmailTimeOffsetString; + lf. + self outputData: aString. + branch + ifNotNil: [ self + nextPutAll: 'from refs/heads/'; + nextPutAll: self repository currentBranch; + nextPutAll: '^0'; + lf ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputData..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputData..st new file mode 100644 index 00000000..a84e2a17 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputData..st @@ -0,0 +1,15 @@ +private-fast import +outputData: aString + "Output a git fast-import data item." + + "'data' SP LF + LF?" + + | utf8ByteArray | + utf8ByteArray := aString utf8Encoded. + self + nextPutAll: 'data '; + nextPutAll: utf8ByteArray size printString; + lf. + self stream nextPutAll: utf8ByteArray. + self lf \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputFileDelete..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputFileDelete..st new file mode 100644 index 00000000..711696d9 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputFileDelete..st @@ -0,0 +1,10 @@ +private-fast import +outputFileDelete: aPathAsString + "Output a git fast-import file delete." + + "'D' SP LF" + + self + nextPutAll: 'D '; + nextPutAll: aPathAsString; + lf \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputFileModify.with..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputFileModify.with..st new file mode 100644 index 00000000..a1876196 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/outputFileModify.with..st @@ -0,0 +1,12 @@ +private-fast import +outputFileModify: aFilenameAsString with: dataAsString + "Output a git fast-import file delete." + + "'M' SP SP 'inline' SP LF + data" + + self + nextPutAll: 'M 644 inline '; + nextPutAll: aFilenameAsString; + lf; + outputData: dataAsString \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/propertyFileExtension.st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/propertyFileExtension.st new file mode 100644 index 00000000..d807f166 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/propertyFileExtension.st @@ -0,0 +1,3 @@ +constants +propertyFileExtension + ^ self repository propertyFileExtension \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/repository..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/repository..st new file mode 100644 index 00000000..4fcd72fb --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/repository..st @@ -0,0 +1,3 @@ +accessing +repository: anObject + repository := anObject \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/repository.st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/repository.st new file mode 100644 index 00000000..5be97638 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/repository.st @@ -0,0 +1,3 @@ +accessing +repository + ^ repository \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/space.st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/space.st new file mode 100644 index 00000000..795bb3b6 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/space.st @@ -0,0 +1,3 @@ +private-fast import +space + self stream nextPut: Character space asciiValue \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/stream.st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/stream.st new file mode 100644 index 00000000..20001323 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/stream.st @@ -0,0 +1,3 @@ +accessing +stream + ^ stream ifNil: [ stream := WriteStream on: ByteArray new ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeClassDefinition.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeClassDefinition.in..st new file mode 100644 index 00000000..2c4a4ae8 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeClassDefinition.in..st @@ -0,0 +1,10 @@ +private-writing +writeClassDefinition: aMCClassDefinition in: aClassPath + "Write as two items: comment and class definition." + + self + outputFileModify: aClassPath , '/README.md' + with: aMCClassDefinition comment withUnixLineEndings. + self + outputFileModify: aClassPath , '/properties' , self propertyFileExtension + with: (self buildClassDefinition: aMCClassDefinition) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeClassDefinitions.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeClassDefinitions.in..st new file mode 100644 index 00000000..750a89d6 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeClassDefinitions.in..st @@ -0,0 +1,7 @@ +private-writing +writeClassDefinitions: anArrayOfMCClassDefinition in: aPackagePath + anArrayOfMCClassDefinition + do: [ :each | + self + writeClassDefinition: each + in: aPackagePath , '/' , each className , '.class' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeDependencies.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeDependencies.in..st new file mode 100644 index 00000000..a001af5e --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeDependencies.in..st @@ -0,0 +1,15 @@ +private-writing +writeDependencies: anArrayOfVersionInfo in: aPackagePath + "Write dependencies: empty files, just entries in a monticello.meta/dependencies/ directory" + + anArrayOfVersionInfo + do: [ :each | + self + outputFileModify: aPackagePath , '/monticello.meta/dependencies/' , each package name + with: + '(name ''' , each versionInfo name , ''' id ''' + , each versionInfo id asString , ''')' ]. + anArrayOfVersionInfo notEmpty + ifTrue: [ self + outputFileModify: aPackagePath , '/monticello.meta/.gitfiletree' + with: '{ "SingleCommitForDependencies" : "true" }' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeExtensionClassDefinitions.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeExtensionClassDefinitions.in..st new file mode 100644 index 00000000..da4af7ac --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeExtensionClassDefinitions.in..st @@ -0,0 +1,15 @@ +private-writing +writeExtensionClassDefinitions: anArrayOfString in: aPackagePath + anArrayOfString + do: [ :each | + | properties | + properties := Dictionary new. + properties at: 'name' put: each. + self + outputFileModify: + aPackagePath , '/' , each , '.extension/properties' + , self propertyFileExtension + with: + (String + streamContents: [ :s | STON put: properties asJsonOnStreamPretty: s ]) + withUnixLineEndings ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeExtensionMethodDefinitions.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeExtensionMethodDefinitions.in..st new file mode 100644 index 00000000..d34c03ee --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeExtensionMethodDefinitions.in..st @@ -0,0 +1,7 @@ +private-writing +writeExtensionMethodDefinitions: anArrayOfMCMethodDefinition in: aPackagePath + anArrayOfMCMethodDefinition + do: [ :each | + self + writeMethodDefinition: each + in: aPackagePath , '/' , each className , '.extension' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeInitializers.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeInitializers.in..st new file mode 100644 index 00000000..feb0daeb --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeInitializers.in..st @@ -0,0 +1,33 @@ +private-writing +writeInitializers: anArrayOfMCMethodDefinition in: aPathAsString + | present absent orderedClasses contents | + present := Set new. + absent := Set new. + anArrayOfMCMethodDefinition + do: [ :e | + e isInitializer + ifTrue: [ (Smalltalk hasClassNamed: e className) + ifTrue: [ present add: e ] + ifFalse: [ absent add: e ] ] ]. + orderedClasses := Class + superclassOrder: + (present + collect: [ :each | Smalltalk classOrTraitNamed: each className ]). + contents := String + streamContents: [ :s | + orderedClasses + do: [ :aClass | + s + nextPutAll: + aClass name , ' ' + , (present detect: [ :m | m className = aClass name ]) selector + , '.'; + nextPut: Character lf ]. + absent + do: [ :e | + s + nextPutAll: e className , ' ' , e selector , '.'; + nextPut: Character lf ] ]. + self + outputFileModify: aPathAsString , '/monticello.meta/initializers.st' + with: contents \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeMethodDefinition.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeMethodDefinition.in..st new file mode 100644 index 00000000..0270957f --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeMethodDefinition.in..st @@ -0,0 +1,15 @@ +private-writing +writeMethodDefinition: aMCMethodDefinition in: aClassPath + "Write as one item." + + | dirName | + dirName := aClassPath + , + (aMCMethodDefinition classIsMeta + ifTrue: [ '/class/' ] + ifFalse: [ '/instance/' ]). + self + outputFileModify: + dirName , (self baseFileNameForSelector: aMCMethodDefinition selector) + , '.st' + with: (self buildMethodSource: aMCMethodDefinition) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeMethodDefinitions.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeMethodDefinitions.in..st new file mode 100644 index 00000000..b86dd951 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeMethodDefinitions.in..st @@ -0,0 +1,7 @@ +private-writing +writeMethodDefinitions: anArrayOfMCMethodDefinition in: aPackagePath + anArrayOfMCMethodDefinition + do: [ :each | + self + writeMethodDefinition: each + in: aPackagePath , '/' , each className , '.class' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeOrganization.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeOrganization.in..st new file mode 100644 index 00000000..7b3b4607 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeOrganization.in..st @@ -0,0 +1,16 @@ +private-writing +writeOrganization: anArrayOfMCOrganizationDefinition in: aPackagePath + "This thing looks awfully old / chunk format. Why is it still there?" + + self + outputFileModify: aPackagePath , '/monticello.meta/categories.st' + with: + (String + streamContents: [ :s | + anArrayOfMCOrganizationDefinition + do: [ :e | + e categories + do: [ :c | + s + nextPutAll: 'SystemOrganization addCategory: ' , c printString , '!'; + nextPut: Character lf ] ] ]) \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writePackageGitPropertiesIn..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writePackageGitPropertiesIn..st new file mode 100644 index 00000000..0fff5968 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writePackageGitPropertiesIn..st @@ -0,0 +1,19 @@ +private-writing +writePackageGitPropertiesIn: aPathAsString + | properties | + properties := Dictionary new. + properties at: 'noMethodMetaData' put: true. + properties at: 'separateMethodMetaAndSource' put: false. + properties at: 'useCypressPropertiesFile' put: true. + self + outputFileModify: aPathAsString , '/.filetree' + with: + (String + streamContents: [ :s | STON put: properties asJsonOnStreamPretty: s ]) + withUnixLineEndings. + self + outputFileModify: aPathAsString , '/properties.json' + with: + (String + streamContents: [ :s | STON put: Dictionary new asJsonOnStreamPretty: s ]) + withUnixLineEndings \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeSnapshot.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeSnapshot.in..st new file mode 100644 index 00000000..b13c26ec --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeSnapshot.in..st @@ -0,0 +1,50 @@ +accessing +writeSnapshot: aSnapshot in: aPackagePath + "Separate the snapshot contents into the various types of definitions we expect." + + | orderedDefinitions extensionClasses extensionMethodDefinitions classDefinitions traitDefinitions methodDefinitions classAndTraitNames organization | + [ :job | + job title: 'Building snapshot'. + orderedDefinitions := MCDependencySorter + sortItems: aSnapshot definitions. + job progress: 0.1. + classDefinitions := orderedDefinitions + select: [ :e | e isKindOf: MCClassDefinition ]. + traitDefinitions := orderedDefinitions + select: [ :e | + (e isKindOf: MCTraitDefinition) + or: [ e isKindOf: MCClassTraitDefinition ] ]. + classAndTraitNames := (classDefinitions , traitDefinitions + collect: [ :e | e className ]) asSet. + job progress: 0.2. + methodDefinitions := orderedDefinitions + select: [ :e | + (e isKindOf: MCMethodDefinition) + and: [ classAndTraitNames includes: e className ] ]. + extensionMethodDefinitions := orderedDefinitions + select: [ :e | + (e isKindOf: MCMethodDefinition) + and: [ (classAndTraitNames includes: e className) not ] ]. + organization := orderedDefinitions + select: [ :e | e isKindOf: MCOrganizationDefinition ]. + extensionClasses := (extensionMethodDefinitions + collect: [ :e | e className ]) asSet. + job progress: 0.3. + self outputFileDelete: aPackagePath. + self writePackageGitPropertiesIn: aPackagePath. + self writeOrganization: organization in: aPackagePath. + job progress: 0.4. + self writeClassDefinitions: classDefinitions in: aPackagePath. + self writeTraitDefinitions: traitDefinitions in: aPackagePath. + job progress: 0.5. + self writeMethodDefinitions: methodDefinitions in: aPackagePath. + job progress: 0.6. + self + writeExtensionClassDefinitions: extensionClasses + in: aPackagePath. + self + writeExtensionMethodDefinitions: extensionMethodDefinitions + in: aPackagePath. + job progress: 0.7. + self writeInitializers: methodDefinitions in: aPackagePath ] asJob + run \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeTraitDefinitions.in..st b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeTraitDefinitions.in..st new file mode 100644 index 00000000..f3cfdee7 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/instance/writeTraitDefinitions.in..st @@ -0,0 +1,7 @@ +private-writing +writeTraitDefinitions: anArrayOfMCTraitDefinition in: aPackagePath + anArrayOfMCTraitDefinition + do: [ :each | + self + writeClassDefinition: each + in: aPackagePath , '/' , each className , '.trait' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/methodProperties.json b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/methodProperties.json new file mode 100644 index 00000000..79966089 --- /dev/null +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/methodProperties.json @@ -0,0 +1,36 @@ +{ + "instance" : { + "nextPutAll:" : "ThierryGoubier 3/1/2018 23:24", + "writeMethodDefinition:in:" : "ThierryGoubier 2/28/2018 13:25", + "stream" : "ThierryGoubier 3/1/2018 23:21", + "outputFileModify:with:" : "ThierryGoubier 3/1/2018 23:28", + "propertyFileExtension" : "ThierryGoubier 3/1/2018 09:36", + "writeDependencies:in:" : "ThierryGoubier 2/28/2018 21:06", + "buildClassDefinition:" : "ThierryGoubier 2/28/2018 14:28", + "writeTraitDefinitions:in:" : "ThierryGoubier 2/27/2018 11:53", + "writePackageGitPropertiesIn:" : "ThierryGoubier 2/28/2018 14:03", + "lf" : "ThierryGoubier 3/1/2018 23:25", + "writeClassDefinition:in:" : "ThierryGoubier 2/28/2018 14:28", + "outputFileDelete:" : "ThierryGoubier 3/1/2018 23:28", + "outputData:" : "ThierryGoubier 3/1/2018 23:29", + "writeClassDefinitions:in:" : "ThierryGoubier 2/27/2018 11:54", + "repository:" : "ThierryGoubier 2/26/2018 11:35", + "writeMethodDefinitions:in:" : "ThierryGoubier 2/27/2018 11:57", + "outputCommit:email:time:message:" : "ThierryGoubier 3/11/2018 19:26", + "baseFileNameForSelector:" : "ThierryGoubier 3/3/2018 18:16", + "writeInitializers:in:" : "ThierryGoubier 2/28/2018 14:31", + "writeExtensionClassDefinitions:in:" : "ThierryGoubier 2/28/2018 18:21", + "writeOrganization:in:" : "ThierryGoubier 2/28/2018 14:46", + "writeSnapshot:in:" : "ThierryGoubier 3/1/2018 22:57", + "space" : "ThierryGoubier 3/1/2018 23:25", + "repository" : "ThierryGoubier 2/26/2018 11:35", + "writeExtensionMethodDefinitions:in:" : "ThierryGoubier 2/27/2018 14:35", + "buildMethodSource:" : "ThierryGoubier 2/28/2018 09:09" + }, + "class" : { + "fileOutSingleFile:in:with:" : "ThierryGoubier 3/3/2018 11:21", + "baseFileNameForSelector:" : "ThierryGoubier 3/3/2018 18:16", + "fileOutAll:on:" : "ThierryGoubier 3/2/2018 19:02", + "specials" : "ThierryGoubier 3/3/2018 18:15" + } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/properties.json b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/properties.json similarity index 60% rename from repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/properties.json rename to repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/properties.json index 1efcd5e6..f694b2cb 100644 --- a/repository/MonticelloFileTree-Git.package/MCFileTreeGitStCypressWriter.class/properties.json +++ b/repository/MonticelloFileTree-Git.package/MCGitFileTreeWriter.class/properties.json @@ -1,11 +1,14 @@ { "commentStamp" : "", - "super" : "MCFileTreeStCypressWriter", + "super" : "Object", "category" : "MonticelloFileTree-Git", "classinstvars" : [ ], "pools" : [ ], "classvars" : [ ], - "instvars" : [ ], - "name" : "MCFileTreeGitStCypressWriter", + "instvars" : [ + "repository", + "stream" + ], + "name" : "MCGitFileTreeWriter", "type" : "normal" } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MetacelloPharo30Platform.extension/methodProperties.json b/repository/MonticelloFileTree-Git.package/MetacelloPharo30Platform.extension/methodProperties.json index 10549fa7..7c40455c 100644 --- a/repository/MonticelloFileTree-Git.package/MetacelloPharo30Platform.extension/methodProperties.json +++ b/repository/MonticelloFileTree-Git.package/MetacelloPharo30Platform.extension/methodProperties.json @@ -1,6 +1,6 @@ { "instance" : { - "createRepository:" : "ThierryGoubier 9/29/2016 23:13:58" + "createRepository:" : "ThierryGoubier 2/28/2018 21:10:57" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/MetacelloPharoPlatform.extension/methodProperties.json b/repository/MonticelloFileTree-Git.package/MetacelloPharoPlatform.extension/methodProperties.json index f5765bc3..7c40455c 100644 --- a/repository/MonticelloFileTree-Git.package/MetacelloPharoPlatform.extension/methodProperties.json +++ b/repository/MonticelloFileTree-Git.package/MetacelloPharoPlatform.extension/methodProperties.json @@ -1,6 +1,6 @@ { "instance" : { - "createRepository:" : "ThierryGoubier 11/4/2017 15:34" + "createRepository:" : "ThierryGoubier 2/28/2018 21:10:57" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Git.package/monticello.meta/version b/repository/MonticelloFileTree-Git.package/monticello.meta/version index cbd56ff6..e7aae214 100644 --- a/repository/MonticelloFileTree-Git.package/monticello.meta/version +++ b/repository/MonticelloFileTree-Git.package/monticello.meta/version @@ -1,2 +1,224 @@ -(name 'MonticelloFileTree-Git-ThierryGoubier.161' message 'Iceberg has broken GitFileTree integration with Metacello, of course' id 'b80e25ea-8a19-0d00-8ad6-ee8a0ede816e' date '4 November 2017' time '3:38:41.717389 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.160' message 'Make location in a MCFileTreeGitRepository report the gitfiletree local url, for using it with Metacello' id 'bd799ea7-0000-0000-a4de-223c031c9a3d' date '27 April 2017' time '7:02:11.186663 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.159' message 'Removing that line was an error!' id 'ad6cf168-c541-44fd-a40c-9527ed71cbfe' date '27 November 2016' time '6:34:41.299514 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.157' message 'Added a storeVersions: API to MCFileTreeGitRepository -' id 'eb3e1762-713e-5611-8de2-5d276212a0fd' date '24 November 2016' time '11:26:57 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'MonticelloFileTree-Git-ThierryGoubier.195' message 'Ensure we don''t add an additional character at the end of commit messages when reading' id '14136da1-8c23-0d00-86c3-08cc0d1e64d9' date '11 March 2018' time '11:53:27.912607 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.194' message 'Silly bug ' id '3233bd68-27cc-54d8-b726-f77e81ebc207' date '11 March 2018' time '10:19:55 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.193' message 'Superb endless loop with gitTopDirectory +' id '92f7c43f-19da-5620-bbd2-5e71f9f3c6e2' date '11 March 2018' time '9:58:23 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.192' message 'Revert the unixLineEndings (not necessary) +Use %B in git log to properly retrieve the line endings of commit messages. +' id 'c5d118dc-7574-5e47-98cf-c0937d93e73d' date '11 March 2018' time '9:02:20 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.191' message 'Simply the git command default directory. +Add unix line endings to the commit message +' id '8900a5bd-9645-5c09-bc97-2a72df7fbda0' date '11 March 2018' time '7:25:12 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.190' message 'Changes: +- Scan HEAD instead of working tree for readable packages +- Do not try to query git store for all package versions structure +- Avoid the use of the working tree +- Cache subDirectoryString +' id 'eb81ebae-f4f3-52c7-b65b-d1d7ed792943' date '11 March 2018' time '6:25:55 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.189' message 'Add the logic so that the fast-import command works with OSSubprocess. +' id 'ed1bdef6-2502-5dbb-80ae-76fd816a5006' date '10 March 2018' time '9:36:48 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.188' message 'maxVersionWithAncestors may be nil +' id '8e350c2e-3d2a-50c9-9c9b-bfad32633d58' date '4 March 2018' time '6:48:33 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.187' message 'Update the scan for method versions in a git repository. +' id 'a0d5ef32-2c2e-54e5-ab06-dbd5a0124762' date '3 March 2018' time '7:48:09 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.186' message 'Cleaning up file accesses +' id '4d481c90-ea5d-58f7-aea9-5ee0c6964ec2' date '3 March 2018' time '6:28:30 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.185' message 'Forgot I was tracking fast-import command files +' id '1695d622-88f0-5f5c-8fa0-2eb2ed28fa50' date '3 March 2018' time '12:00:56 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.184' message 'Using STON instead of writing json by hand. from / no from if first commit into a repository +' id 'fb47f0da-1684-5063-b334-c94f3cc299e5' date '3 March 2018' time '11:58:40 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.183' message 'Removing that onError: aBlock addition -- the bug was the infinite recursion. +' id 'e1f57b07-5709-5f49-bb1a-3e968c3f118a' date '3 March 2018' time '10:26:32 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.182' message 'Solved a hidden infinite recursion in MCFileTree on repository properties +' id '63264490-bc93-5ece-b991-66df3a062308' date '3 March 2018' time '10:13:11 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.181' message 'Revert a change in accessing repository properties. +' id '8e31624f-1d3b-5596-88d2-646abc555514' date '2 March 2018' time '7:24:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.180' message 'Saving a broken version for now +' id 'bb09f567-f9e9-5d96-a139-1c290def35b1' date '2 March 2018' time '6:56:28 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.179' message 'Improvements +- Ensure writer works with a binary stream (to avoid converting to utf8 twice) (I''d really like Pharo to use utf8 internally...) +- Added git ls-tree and cat-file use instead of the filesystem (could work around VM bugs with long file names and paths in Windows) +' id 'b34913a1-03e8-5fe0-afb5-78ac6aad76a0' date '2 March 2018' time '5:18:21 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.178' message 'Progress on fast-import byte array building +' id '9e83b12f-248a-5d88-ab51-85c0fe89e58e' date '1 March 2018' time '11:20:10 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.177' message 'Add a reasonable try for OSSubprocess / fast-import +' id '4dc24407-b407-5cac-b84b-057fe7928479' date '1 March 2018' time '10:49 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.176' message '- Mistake in handling special files +- DNU caused by IceMCVersionInfo +' id 'e988816f-8ff6-5454-84cd-897684a8d1d6' date '1 March 2018' time '9:44:49 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.175' message 'DNU caused by IceMCVersionInfo +' id '0290d655-15d9-5ee8-af1f-bf39e2306d14' date '1 March 2018' time '9:17:09 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.174' message 'Refactoring the fast-import part inside MCFileTreeGitRepository +' id '9b952e72-552e-520f-bce5-8c86c0610fae' date '28 February 2018' time '11:42:58 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.173' message 'Added proper handling of dependencies +' id 'e0d27a7a-b4fd-533f-9792-d52d1292da18' date '28 February 2018' time '9:10:57 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.172' message '- Missing extension class generation - Do not utf8Encode internally (auto conversion on file write, beware!) - Error in email format in name map +' id '4c56ed7a-de1d-56e9-b4d0-cdd19a1d2ad9' date '28 February 2018' time '6:24:30 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.171' message 'Add some memoization to avoid too many calls to OSProcess / Git +' id 'bd8c7b60-18cd-5d0e-a169-d3ec8530ca4f' date '28 February 2018' time '5:30:06 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.170' message 'Added code for handling sub directories inside the git repository. +' id 'b07e8c33-ee52-580f-805e-9578bd53c555' date '28 February 2018' time '4:09:22 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.169' message 'Added old thingy serialize package +' id 'e1b28c96-7819-58cc-973a-9b40eb5738d3' date '28 February 2018' time '3:05:28 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.168' message 'Writing organization in chunk format. Strange: my gitfiletree reference doesn''t write the initializers... +' id '25951beb-8d3e-53ef-b928-4ed0934931bf' date '28 February 2018' time '2:48:11 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.167' message 'Ensure unix line endings. Add initializers +' id '6e91046d-9f55-5405-a8b7-c58f1c7cb434' date '28 February 2018' time '2:33:23 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.166' message 'Write initializers... +' id '4c79aa42-7c90-5f71-a393-07e788c95541' date '28 February 2018' time '2:23:52 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.165' message 'Added package properties +' id 'f17e57be-7063-58a3-b7bf-0282a93ae831' date '28 February 2018' time '2:04:26 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.164' message 'Small correction +' id '64df1aaa-4f3f-5c58-9178-9095a2a37d9d' date '28 February 2018' time '1:44:31 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.163' message '- Correct missing .st files +' id 'ef02895f-81d7-5635-a872-88550aafbd29' date '28 February 2018' time '1:24:19 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.162' message 'First working code. - No handling of subdirectories yet - Not checked that this is a full filetree repository yet. - No handling of multiple versions / dependencies yet +' id 'd154cf7e-e1c5-55c7-95ea-158eb0257cd0' date '28 February 2018' time '10:46:01 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.161' message 'Iceberg has broken GitFileTree integration with Metacello, of course +' id '2965e167-b4ed-5da2-8077-547fbec0cf42' date '4 November 2017' time '3:38:42 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.160' message 'Make location in a MCFileTreeGitRepository report the gitfiletree local url, for using it with Metacello +' id '7cf656f2-0a1e-5252-a4d3-6c100ff45de7' date '27 April 2017' time '7:02:12 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.159' message 'Removing that line was an error! +' id 'a129a5f0-2329-59c1-8c86-b7791ab5f630' date '27 November 2016' time '6:34:43 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.158' message 'Improve implementation of the store versions api. +' id '13219c1c-8a69-50c8-91ea-4cadc0accc41' date '27 November 2016' time '6:11:39 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.157' message 'Added a storeVersions: API to MCFileTreeGitRepository +' id 'eb3e1762-713e-5611-8de2-5d276212a0fd' date '24 November 2016' time '11:26:57 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.156' message 'merging bugfixes from the pharo5.0_dev branch +' id '6e4b81bb-024e-5fd0-92b6-4fc99ecc57f1' date '4 October 2016' time '10:50:43 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.150' message 'Bug: not registering gitfiletree repository in package versions entries +' id '4d8fa4ce-f237-568c-95ea-ea2b328b83a4' date '28 September 2016' time '10:40:45 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.149' message 'final fix +' id '2132061b-53fc-58dc-84ea-d1a3e1a0269d' date '26 August 2016' time '5:21:10 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.148' message 'fix follow-up: do not use the version number we have in the image. +' id 'c3ab78bc-a827-5a48-ad00-d61aeba24539' date '26 August 2016' time '4:48:27 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.147' message 'basicSaveVersion bug: + +make sure we get the correct package from the repository when updating the version info, because #versionInfoFromVersionName: will match an incorrect package version if the name is incomplete. +' id '5ed62545-a456-572b-86cd-cdbd154ae72f' date '26 August 2016' time '4:41:28 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.146' message 'Add string type check to version save: ensure version info message is a String instance. +' id '5ead0dcb-0838-5a4f-8c0e-af2329e64190' date '26 August 2016' time '3:59:21 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.145' message 'Replace the FileTree Json Parser by the in-image STON parser +' id 'cd5db903-3c71-571a-a3d2-3cf7a5e8a7af' date '3 June 2016' time '2:06:17 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.144' message 'Commented +' id 'c98063f6-b50b-5d43-9d1d-ac28746292e1' date '1 May 2016' time '11:02:38 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.143' message 'Better setting definition + +Remember not to edit directly a FileTree + metadata repository. +' id 'aa52cc78-fd8b-50a4-85dd-d863bb21fd77' date '1 May 2016' time '10:53:22 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.142' message 'OSProcess / OSSubprocess accepted as targets +' id '74c2a475-fa37-5492-a748-bd48ce068c0c' date '30 April 2016' time '11:46:50 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.141' message 'Error for the -- argument' id '214a1b8f-119b-5c50-85b3-cb1f1ffa7732' date '28 April 2016' time '7:58:12 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.140' message 'Added caching-aware code for #versionFromPackageName:commit: +' id '14ae0f4e-fd12-5672-930e-2090f4ed17f1' date '26 March 2016' time '11:06:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.139' message 'remve ancestry instance variable +' id '9bf7fa8f-3d66-5813-9ffc-1819d1aa844a' date '26 March 2016' time '3:08:50 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.138' message 'Renames to avoid ancestry instance variable +' id 'e53a6cc9-b15c-55ef-b569-f9b14f748b8e' date '26 March 2016' time '3:07:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.137' message 'Reactivated recovering the ancestry for dependencies. + +I am not sure that Otto fixes are entirely correct. I need to build a pure git test case to explore that. +' id '335761a1-be2c-5c08-81b3-26730bf71d5c' date '26 March 2016' time '9:29:22 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.136' message 'cherry pick 9ab3ed9 +' id '3477187d-fc2d-5c57-bc89-a6537f39f401' date '25 March 2016' time '9:57:22 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.135' message 'updating the issue_171 branch with current pharo5.0_dev +' id 'd8d4e7ee-f350-561c-9fc7-ca5abc9e1be1' date '29 March 2016' time '10:52:56 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.125' message 'OSSubprocess API change' id 'f4ab2f68-c15d-522f-a4fd-8cdd83759dd7' date '14 January 2016' time '11:03:38 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.124' message 'Call OSUnixSubprocess' id '23a698d9-afd9-5604-914e-36c462ec807d' date '14 January 2016' time '10:02:04 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.122' message 'When storing a version, we may have no working copy in memory +' id 'd5f8d52b-0078-5dda-acdb-2f4b905a4526' date '6 January 2016' time '6:17:33 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.121' message 'Do not use the cache + +We may create an endless loop with the cache.' id '2e9f2fe6-2edb-5410-8ff9-409a2f23e745' date '2 January 2016' time '11:00:04 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.120' message 'It''s extractFolderNameFrom: !' id '380fbf0a-ad8f-5332-ab70-68a8a8424e04' date '21 December 2015' time '11:22:52 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.119' message 'Trying a change in how gitfiletree resets the version in the system. +' id 'b68a3cb5-2b44-55aa-886e-320aa2f09781' date '20 December 2015' time '11:35:59 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.118' message 'Incorrect substrings: +' id 'c574eaed-878b-561d-91c4-94aecf4fc065' date '18 December 2015' time '7:17:46 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.117' message 'Adding handling of directory name extraction from remote repositories +' id '6971802b-ad6e-5bfc-ab91-24b271e907c0' date '18 December 2015' time '4:43:36 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.112' message 'Feedback correction +' id '1061a6c8-6ced-576e-b19c-124f409daf93' date '7 November 2015' time '5:56:27 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.111' message 'Removed unecessary feedback. +' id '8a2de2c9-d68d-5c2c-8e7f-a0fcc522c15c' date '7 November 2015' time '5:55:32 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.110' message 'Update README.md' id 'e6f63746-a7d4-59c9-a83b-c95d68c78e09' date '7 November 2015' time '5:41:11 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.109' message 'It''s writeRepositoryProperties' id 'ac9dd7e5-2294-568a-bf35-dfbb022fc5e0' date '7 November 2015' time '5:04:13 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.108' message 'It''s writeRepositoryProperties' id '2daf7638-7ccb-58b4-b85a-58003af47485' date '7 November 2015' time '5:03:39 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.107' message 'Oops. Should not return nil' id 'ac694f12-9a8d-5d02-af6e-66d718a5d502' date '7 November 2015' time '3:47:38 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.106' message 'Done. Added some feedback as well +' id 'f9d1951b-9419-5695-974a-260efba63922' date '7 November 2015' time '11:59:49 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.105' message 'Done. +' id 'd8e555bd-60b4-549d-a7f8-6ee522caa529' date '7 November 2015' time '10:27:14 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.104' message 'No metadata case... +' id 'bd044f97-98f3-5d00-b223-c742bc93c5d5' date '3 November 2015' time '10:38:57 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.103' message 'Make default git command Windows-aware +' id 'b58c26fb-0282-5bec-8806-3c71897f9b42' date '30 September 2015' time '10:30:49 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.102' message 'cherry-picking c22c92bc +' id '24779f13-78dc-51bf-97ad-e3fa154c2984' date '30 September 2015' time '8:46:15 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.99' message 'meld has tricked me +' id '3643b432-ebdf-521d-8e47-c1b6f73237b5' date '23 August 2015' time '6:23:14 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.98' message 'cherry pick 3e18ef9 from pharo4.0_dev +' id '7e5be310-9946-5a9a-9ddb-4872dbcd2781' date '23 August 2015' time '5:32:55 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.96' message 'Clean up in ProcessWrapper commands, MCFileTreeGitError +' id '47919321-d86b-5067-837a-b842c1af546f' date '17 August 2015' time '11:08:19 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.95' message 'Clean Gofer API use over the repository. +' id '21b9a8c7-5633-58ed-94b2-048a3f64e97e' date '25 July 2015' time '11:19:47 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.94' message 'Change in Gofer API. Cleaning up gofer extensions +' id 'f0f6374f-76db-5fff-8ffb-8fe775450ca0' date '23 July 2015' time '8:04:14 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.93' message 'Monticello API change: override of versionFromRepositoryFromFileNamed: +' id '88e0a399-7dd6-5034-ba6a-57a8b733488d' date '19 July 2015' time '6:02:38 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.92' message 'goferVersionFrom: has been replaced by versionFrom: +' id 'd6ad893b-0799-5b24-afcd-2cf9b39b23c8' date '6 July 2015' time '9:45:37 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.91' message 'Small clean-up +' id 'd6e59cf0-141b-5325-bad3-ed8f2a1f0dec' date '25 June 2015' time '11:25:18 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.90' message 'New implementation of OSProcess / Git commands: - Replace PipeableOSProcess by lower-level access to external unix processes - Have pipes in non-blocking / non-buffered mode - Pass command arguments as an array of strings - Execute git directly without going through the shell - Cache the branch name to avoid calling git branch too often - Give nicer names to repository entries +' id '02d5f090-b915-59ed-99c8-fcc0d62c7370' date '11 June 2015' time '10:49:32 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.89' message 'Small correction to get a correct status in Pharo4 +' id '98f9580a-704e-57a5-b15b-3a79d059e497' date '25 April 2015' time '3:44:06 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.88' message 'Better description + +Track current branch, same description for all remote gitfiletree repositories, simplify description code. +' id '0c017209-baac-5afb-98dd-edb34c43e32a' date '10 March 2015' time '10:24:58 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.87' message 'correct packageIcon:; fix introduced in Pharo 4 breaks gitfiletree. +' id 'ebd00e59-d39e-572c-b50d-b714e7363b45' date '9 March 2015' time '10:19:57 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.86' message 'API change in OSProcess for error handling +' id 'eef9ea1f-99e8-5e94-8986-9299b3c0baac' date '6 March 2015' time '1:43:49 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.85' message 'Solution for issue #147 +' id '3e73d533-ccac-5810-a765-69da52f667ed' date '5 March 2015' time '10:21:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.84' message 'Issue #146 solved +' id '0aaf1af0-b610-54e6-92f4-e239abe18115' date '3 March 2015' time '11:12:15 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.83' message 'missing repository should return a gitfiletree error and not a filetree error. +' id 'e7628478-7447-510d-842a-54c29719dbd7' date '3 March 2015' time '7:33:21 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.82' message 'MCFileRepositoryInspector>>inherited is removed from Pharo4 and can be avoided here. +' id 'bf460775-327b-5f69-b64c-a5d22a344b7f' date '2 March 2015' time '11:24:49 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.81' message 'Windows corrections + - slash in zip reading should not be OS dependent : it''s allways unix /. + - Use ProcessWrapper on Windows instead of OSProcess. +Some versions of git do not support -C. Use OSProcess support for changing the working directory instead. +' id 'a8b498bb-5d0e-5e76-a177-c5a597160df4' date '2 March 2015' time '7:24:27 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.80' message 'Erroneous double quote in git clone command :( +' id 'a6baad1e-9d47-5a54-ad1c-3b21bf8a2a3b' date '19 February 2015' time '10:38:11 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.79' message 'Added an ancestry instance variable. Solved the layout problem of the class MCFileTreeGitRepository. +' id 'ee23a5e2-9833-5a5e-b757-460c96c652bd' date '19 February 2015' time '11:09:41 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.78' message 'Ancestry and file caching for loading dependencies. +' id '235b8b8c-3d6b-5ec8-b310-cf2b56237f97' date '19 February 2015' time '8:09:15 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.77' message 'Passes all tests and handles a Monticello copy with dependencies (and complete change of version numbers). +' id 'b8cd89cb-35a6-5bf5-90bb-14e4ef03dce4' date '18 February 2015' time '11:20:01 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.76' message 'First try. +' id 'bca9a1d7-b5b1-589a-844e-5278b9d7c737' date '16 February 2015' time '7:38:20 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.75' message 'Added Squeak preference for the Git command +' id '5490731a-0837-5289-b59d-23d0f7816c97' date '11 February 2015' time '7:17:57 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.74' message 'Added a setting for the git command. +' id 'f5f6030e-c90c-5a75-a899-8450de021740' date '10 February 2015' time '11:15:22 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.73' message 'Refactoring of the git command aspect. Prepare for a git command path setting. +' id '89c07b7c-7fe6-5877-acd4-59f81384649a' date '10 February 2015' time '8:00:15 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-MartinBÃhr.72' message 'quote packageDirectory to handle package-names which contain spaces +' id '365c3214-a1dd-50ab-b633-4f0bab3fb666' date '2 February 2015' time '1:16:46 am' author 'MartinBÃhr' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.71' message 'Saving to propagate changes to Smalltalkhub. +' id '27e49184-6741-56df-83ef-10a9ba391fb6' date '20 September 2014' time '10:14:02 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.70' message 'Make sure all calls to OSProcess do a closePipes afterwards. +' id '518c6b2b-d3d3-53be-a6d7-10e08b4ee496' date '16 July 2014' time '11:07:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.69' message 'Saving changes not pushed to main repository +' id 'b86deae8-1757-56a7-8e43-88ebab06d139' date '16 July 2014' time '11:01:42 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.68' message 'When saving a version, retrieve the commit ID to make sure the image has the same version UUID than the one extracted from git. +' id '65fbd57a-9dae-5d27-8601-825b4ddb44a3' date '20 June 2014' time '5:10:16 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.67' message 'Moved a method to the proper override category. +' id 'b79c0c97-1568-5e68-959c-193a6b5dc06a' date '19 June 2014' time '4:56:11 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.66' message 'Yet more ZnUrl hacking to override hard coded non-extensible schemes. +' id '85765841-4ae8-5af4-be10-0a4d9d96cd64' date '6 May 2014' time '5:21:37 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.65' message 'Switching to git pull --rebase. Seems to be considered a better practice? +' id '6e85dd30-89f4-5c83-bc69-726bb1cd2208' date '6 May 2014' time '2:27:59 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.64' message 'Re-introducing https support +' id '7e7ce0f4-508f-5e73-ab34-b14f9f0ce6e4' date '1 April 2014' time '2:46:29 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.63' message 'Change: allow for multiple creation of the same repository, as long as they are on the same branch. +' id '1691833f-2ecd-5b51-bfb8-1bf53aecb299' date '1 April 2014' time '1:32:42 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.62' message 'Completing the bug on space in paths. +' id 'b4e51aca-7a61-54b6-882b-b02a43b25a08' date '8 March 2014' time '10:24:40 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.61' message 'Bug: unable to handle paths with spaces. Thanks Sebastian Sastre for finding it :) +' id 'ed88092c-9fa3-5e87-82e9-25c19c9d9401' date '8 March 2014' time '10:04:49 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.60' message 'Bug: MCFileTreeGitStReader>>zip fails reading the zip before we can be made aware of the git archive errors. +' id 'd6a65aa7-7541-5073-93dd-e9dd5ee2bc71' date '5 March 2014' time '11:11:45 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.59' message 'Made local clone directories relative to the working directory +' id 'ff7f6173-57fe-5b44-be4f-39b3c06cdccc' date '28 February 2014' time '11:18:19 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.58' message 'Add a refresh when saving changes, to update as much status as we can. +' id 'e590e7bd-e5ae-53b0-9db1-efded0724cd5' date '18 February 2014' time '4:44:02 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.57' message 'Is now aware of the need to push (or not). +' id 'b2014a78-465d-5b01-a9c7-a9d713182877' date '18 February 2014' time '4:40:23 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.56' message 'Merge branch ''issue_124'' of github.com:dalehenrich/filetree into issue_124 + +Conflicts: + repository/MonticelloFileTree-Git.package/MCFileTreeGitRemoteRepository.class/methodProperties.json + repository/MonticelloFileTree-Git.package/monticello.meta/version +' id '7b379745-e704-5cd6-92c6-77fd6a4768dc' date '14 February 2014' time '10:37:21 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.55' message 'Error in tracking git versions for a method. +' id 'f0b1f888-1f59-5ac1-8d9b-ef3d77023518' date '14 February 2014' time '10:27:04 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.54' message 'GUI created repository must have a readonly: status +' id '91f9e261-4d25-5bba-9e7e-bcca5e8ec368' date '14 February 2014' time '10:26:24 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.52' message 'Removed https support: requires a password. +Changed the protocol use: set the user in the ssh Url. +' id 'd44c2d7b-e330-520d-b21a-da69ed9d935a' date '2 February 2014' time '8:12:21 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.51' message 'Small bugs +' id '48320033-ef08-519a-b970-099fb8569398' date '30 January 2014' time '10:24:11 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.50' message 'Added a readonly clone option +' id '0d84fa1e-d5a0-5585-97f6-e4d1999007fe' date '30 January 2014' time '10:16:52 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.49' message 'Removed GitFileTreeUrl, not possible to extend this way. +' id 'a30d64df-5322-5307-9595-bcaf2389f34b' date '29 January 2014' time '5:24:28 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.48' message 'Added an override for the gitfiletree:// url +' id 'cb36636c-243d-58e8-854f-96b98f05873a' date '29 January 2014' time '2:55:12 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.47' message 'An ZnUrl scheme for integrating a clone repo and branch to target a remote git repository. +' id '54c7ddf2-5574-5460-9c3d-6e5e1f84b939' date '29 January 2014' time '2:52:17 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.46' message 'Add git push and git pull commands on the GUI +' id '9f84fc09-3088-5cbb-a0ee-9e23039fab49' date '5 November 2013' time '1:54:43 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.45' message 'Added Traits support from superclass +' id '08214d44-1d8e-5b2c-a65f-b269da0c4fb0' date '19 September 2013' time '4:29:48 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.44' message 'Merge from 2.0. Tested. +' id '671e91d5-af27-519c-bfd5-e6ebc16b0cba' date '19 September 2013' time '2:40:51 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.43' message 'Merged core improvements from pharo2.0 branch +' id '2758fd80-f6ac-54ec-b59b-8c7051f76f57' date '18 September 2013' time '6:06:32 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.42' message 'merging gitfiletree from 2.0 to 3.0: step1 +' id '3660e6bb-cfbf-5058-8be6-9f4fc293575e' date '12 September 2013' time '5:04:50 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.41' message 'Minor updates +' id '7f25339a-80f8-5fdf-a0de-67b4ca3004c7' date '16 July 2013' time '4:12:23 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.40' message 'Cleaning a git-merge-created conflict in version +' id 'b494a610-c12c-5661-99da-b5577d6b433d' date '7 July 2013' time '12:23:20 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.39' message 'Merging from gitfiletree before comitting the changes for pharo3.0 +' id '45420230-7c55-584e-b8c3-a136bc3e4eb3' date '5 July 2013' time '1:08:33 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-DaleHenrichs.36' message 'cherry-pick: fd9d9be3be16c5ea001c41d6ad93fa49de055dc3 (gitrepo work from Thierry) + +Merge branch ''pharo2.0_dev'' into pharo2.0 + +Conflicts: + + repository/MonticelloFileTree-Git.package/monticello.meta/version +' id 'ae015d70-4235-5353-ad0d-282e88c9954c' date '28 June 2013' time '1:42:37 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.17' message 'Bug: incorrect schemeName for GitFileTreeUrl^MBug: git commit return a non-zero exit status (1) when there is nothing to commit (without error messages) +' id '173d22d8-4024-5a70-a0dc-f350a38998ae' date '11 June 2013' time '4:37:34 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.16' message 'Problem: limitations of log scanning for package version in MCFileTreeRepository>>gitVersionsForPackage: +' id '82e18202-2113-520f-88bf-62d1f09a188a' date '5 June 2013' time '4:37:48 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.15' message 'Bug: incorrect filtering of zip members when loading a version +' id 'c4dc13cc-17dd-578c-82b7-5eaaaef5f5a6' date '5 June 2013' time '3:49:10 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.14' message 'Got History to work. Used a simpler versionInfo. +' id 'a13bb0e7-a2fe-5038-b1bb-aef679e0e7d4' date '5 June 2013' time '1:07:02 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.13' message 'Yes! Is able to load/browse/list changes with any version of the package stored inside the Git repo! Missing: protecting ourselves from errouneous (git introduced) packages. +' id 'f5f9f382-0025-579a-b610-e6af8d7eb227' date '5 June 2013' time '11:40:53 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.12' message 'Improved git querying for versions, less junk. +' id '9142c32f-45c0-5918-b2e2-3ea7aefc5d6a' date '3 June 2013' time '3:31:38 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.11' message 'List all versions seen in the git repository; does not allow for a full browse yet. Is very slow (combination of git + pharo?) +' id '73b90dc9-2f9f-5bb0-9607-9d75c852e747' date '2 June 2013' time '10:54:38 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.10' message 'Removed string-like methods on PackageEntry. Found a bug in MonticelloFileTree-FileDirectory-Utilities : missing .json properties triggers a DNU. +' id '3c74aef0-8f86-5c33-8755-29440f8e2fd3' date '2 June 2013' time '9:53:28 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.9' message 'Added a FileTreeGitStReader. Is able to extract a version through git archive and a commit ID. +' id '96bb1d40-1e2b-5f69-9c32-f189b349df56' date '2 June 2013' time '7:28:27 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.8' message 'Got versionHighlight: to work as per other types of repository. +' id 'e899d01a-54d9-50ad-aeb2-bd58d991b625' date '1 June 2013' time '11:14:41 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.7' message 'Reworked the version loading in the GUI to have a MCVersion instance in version. +' id 'a7d02c87-e04a-527d-9a67-67c6e16bfaa8' date '1 June 2013' time '10:52:33 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.6' message 'Extended the GUI (RepositoryInspector) to use PackageEntry abstractions instead of strings. +' id '473b6ef8-a4a2-5832-acf9-a46b7942cf43' date '1 June 2013' time '10:21:06 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.5' message 'Bug in determining the package file name for the git command. Crashed the commit of the previous version :( +' id '3a466eb5-bb12-591d-bee3-6bafc979f0a0' date '31 May 2013' time '11:48:36 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.4' message 'Trying to have the GUI display the version, not the .package file. It''s hard and partially incorrect (everything is in bold). Probably all broken, do not use (yet!). +' id '06dccc69-9942-5d97-80e2-a8bbb674b608' date '31 May 2013' time '11:47:08 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.3' message 'Added documentation about the necessary git commands for more advanced uses of git. +' id '94c10c56-8320-5049-81d5-e3295e3e9ae7' date '30 May 2013' time '10:12 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.2' message 'Updated with error: handling and better targeting of git directories to load. +' id '8d4bf441-ed14-5db5-a6ff-3b59b3aa2aca' date '30 May 2013' time '4:43:54 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.1' message 'First version to be tested. Requires OS-Process and filetree. +' id 'c4547b11-b02b-5cfa-a6a2-18e9a4db3005' date '30 May 2013' time '4:43:39 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Git-ThierryGoubier.38' message 'Issue: unable to read a repository when .meta/version isn''t present in HEAD +' id '6ef8c816-4af1-5a2d-be87-d714c11782ca' date '4 July 2013' time '9:37 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.37' message 'Change tag to avoid accentuated characters for Mcz versions. +' id 'cedff42c-1634-5f2d-a11a-767bbf5f8a5c' date '4 July 2013' time '4:12:58 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.35' message 'Fix: replaced a git error: by a NotFound error when loading a single definition to fall back on the ChangeSet version browser. +' id '5954315e-8e1a-5159-b2a0-d37c249507d6' date '26 June 2013' time '10:24:14 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.34' message 'Fix: escape double quotes in commit message. +' id '2404c62b-1e13-57c0-b496-ccc8d0f4d553' date '26 June 2013' time '4:39:04 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.33' message 'NotFound error on scanning for versions of a MCMethodDefinition if its class was never committed. +' id 'a53fe549-ed6a-5f16-b914-16b2416b218b' date '26 June 2013' time '4:12:36 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.32' message 'Progress on git querying for a MCMethodDefinition +' id '99ac2e73-ab88-5d1e-a44a-b12658d1c0fc' date '25 June 2013' time '4:44:34 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.31' message 'First try at reading all versions of a selector from a git repo. +' id '2c6119fb-624a-5a2e-8d5b-c4b76cc95dae' date '24 June 2013' time '4:35:20 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.30' message 'Speed improvements. Partial scan + single OSProcess command for loadAllFileNames from a gitfiletree:// repository. All tests green. +' id 'fb58b266-156e-53c0-a0ff-4ea149403dc8' date '23 June 2013' time '4:32:57 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.29' message 'Documenting another approach with git show and a single command. Over 2 times faster. +' id 'ae1699a9-f127-50d7-8ae0-24d9927fdb66' date '21 June 2013' time '11:44:04 pm' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.28' message 'Merging .dkh.25 to have a clean history. +' id '8ffba55f-6ca0-5392-993f-0b818ceea7a5' date '21 June 2013' time '3:35:53 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.27' message 'Documentation on another way to try to accelerate git querying. +' id 'd573396b-92b1-5952-8489-6b7976498e65' date '21 June 2013' time '3:16:17 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.26' message 'Updated documentation about a faster attempt. +' id '70773c3b-ef9d-53bf-9e05-c1c56633f590' date '21 June 2013' time '11:27:41 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.25' message 'utf8 encode the comment to git commit. +' id '0e5e1232-288f-5a63-a52c-c5a3517b261f' date '21 June 2013' time '10:25:46 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.24' message 'Added a progress bar when loading all the file names. +' id '307ee583-e7ce-57c6-8658-f3048e838624' date '20 June 2013' time '4:46:26 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.23' message 'Improved utf8 handling when reading archives +' id '6266d258-a707-5ce4-a1a5-6b20a8ef2f50' date '20 June 2013' time '4:29:30 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.22' message 'Cleaning up the mess of saving with a filetree: repo. +' id '55548889-db6c-5539-a438-b181bcb50e77' date '18 June 2013' time '11:13:05 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.21' message 'forgot a few files. Will reload a new version. Error caused by filetree: usage instead of gitfiletree: need to find a way to remove a filetree: repo from MC. +' id '0c307b7b-51af-56c0-ae12-e6195946ac9d' date '18 June 2013' time '11:07:12 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.20' message 'An attempt at faster scanning of git repos. Would require a unified diff parser, is faster, more fragile. Some data points. +' id '4c6c3b33-3b20-5726-b1cf-84f6e2a4ef70' date '18 June 2013' time '11:03:40 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.19' message 'Gofer correct interface. Filenames caching in place (for Gofer speed) +' id '8a034e66-706e-5005-82c8-972ad191fd0f' date '17 June 2013' time '7:13:42 am' author 'thierrygoubier' ancestors ((name 'MonticelloFileTree-Git-thierrygoubier.18' message 'Bug: incorrect loading of accentuated characters (utf8) Todo: Gofer seems to be using the filetree: path. +' id '3d2e6c0d-bd6d-5e0c-bdb5-6961bfb99dc4' date '16 June 2013' time '3:39:56 pm' author 'thierrygoubier' ancestors ((id '173d22d8-4024-5a70-a0dc-f350a38998ae')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Git-ThierryGoubier.53' message 'GUI created repository must have a readonly: status +' id '58b9a46a-0a70-58f9-bf10-332d4358636a' date '7 February 2014' time '6:57:38 am' author 'ThierryGoubier' ancestors ((id 'd44c2d7b-e330-520d-b21a-da69ed9d935a')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Git-ThierryGoubier.134' message 'Added a test on directory is a repository... +' id '3bde0630-9814-5c68-b221-91a9b23c96c4' date '28 March 2016' time '7:06:58 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.133' message 'Clean-up the merge +' id '29dcbdcf-1885-5038-a305-ab55f2b20d49' date '27 March 2016' time '9:16:23 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.132' message 'Added caching-aware code for #versionFromPackageName:commit: +' id 'd09db786-2b9a-5b4d-830c-571a93a2a20b' date '26 March 2016' time '11:06:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.131' message 'remve ancestry instance variable +' id 'd4f80902-9cd6-5fca-b2a5-8e141dc6e22e' date '26 March 2016' time '3:08:50 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.130' message 'Renames to avoid ancestry instance variable +' id '99836603-fedb-5843-876d-81e4d17300fe' date '26 March 2016' time '3:07:44 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.129' message 'Reactivated recovering the ancestry for dependencies. + +I am not sure that Otto fixes are entirely correct. I need to build a pure git test case to explore that. +' id 'bbd9f2df-b5a0-55cf-b6b3-2e41373d4c55' date '26 March 2016' time '9:29:22 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.128' message 'Merging Otto Behrens improvements. +' id 'e715eff7-a93a-5578-a641-d154727a2a0d' date '25 March 2016' time '9:57:22 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.127' message 'Add handling of username and password. +' id '17e8dcce-0498-5d06-9cbc-a57b037389b0' date '26 January 2016' time '10:45:30 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.126' message 'Switched to metadata-mode by default for new repositories. +' id '879f4e00-b9f9-55fe-8887-112d688a9c01' date '25 January 2016' time '9:48:45 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.123' message 'Merge from Pharo5.0_dev +' id '51d0982c-30c7-5046-a77f-61f509a4c073' date '6 January 2016' time '6:39:16 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.116' message 'basicFromUrl: ! +' id '1cff49b3-d465-5391-8777-5b65493cfad0' date '19 November 2015' time '7:02:33 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.115' message 'Re-added ZnUrl extension +' id '3b3b4740-b8c6-548d-94ad-05fb657acc1b' date '19 November 2015' time '6:20:26 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.114' message 'Done backporting the metadata less mode +' id '02250210-b72a-5a51-8bc4-933e3e2914a5' date '17 November 2015' time '11:14:24 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.113' message 'Metadata-less backport +' id '1d04a512-633a-5bc7-9205-7951f969ba10' date '17 November 2015' time '6:42:16 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.101' message 'Make default git command Windows-aware' id '560dd0f7-81db-5910-a46e-3d7710a7a231' date '30 September 2015' time '10:30:49 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.100' message 'Correct ProcessWrapper calling code + +Thanks to Nicolai Hess and Levente Uzoniy, a better (working) way of calling external processes in Windows' id '8c9272f5-0eb7-5482-a5c5-8bc23f44985e' date '30 September 2015' time '8:46:15 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.97' message 'Lazy version info improvement + +When opening a repository inspector, update lazy version ancestry with repository version ancestry if version is ancestor of working copy. +' id 'b551ea20-0597-5ec3-9afc-3126a50e9028' date '23 August 2015' time '5:03:26 pm' author 'ThierryGoubier' ancestors ((id 'd6e59cf0-141b-5325-bad3-ed8f2a1f0dec')) stepChildren ())) stepChildren ())) stepChildren ())(id '1061a6c8-6ced-576e-b19c-124f409daf93')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(id 'd5f8d52b-0078-5dda-acdb-2f4b905a4526')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Git-ThierryGoubier.155' message 'Slight change: only set --date if setting --author +' id '5760d22c-2ad4-5d81-8e6a-3462e049a8df' date '4 October 2016' time '9:08:23 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.154' message 'Use the date in the version info of the package upon commit +' id 'dd83f7b4-6e44-5e1a-a566-d34e186ce319' date '3 October 2016' time '11:34:24 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.153' message 'From Holger Freyther: fix the email regex when adding a name /email mapping for copying a mcz to a gitfiletree repository. + +fix issue #209 +' id 'a61028b7-fb13-5d10-bfc1-8189ac666889' date '3 October 2016' time '2:04:33 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Git-DaleHenrichs.152' message 'Issue #196: move MetacelloPlatform>>createRepository: to MetacelloPharo30Platform>>createRepository: to avoid stomping on existing MetacelloPlatform>>createRepository: method +' id '6af259fb-d945-5e81-adb1-3e6b84cc42a2' date '5 July 2016' time '2:57:39 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Git-ThierryGoubier.151' message 'lazy version: repository should be set. +' id '8341c2e0-884f-542f-acd9-d3b2f6750a54' date '29 September 2016' time '9:14:33 pm' author 'ThierryGoubier' ancestors ((id 'c98063f6-b50b-5d43-9d1d-ac28746292e1')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/.filetree b/repository/MonticelloFileTree-GitTests.package/.filetree index 8998102c..57a67973 100644 --- a/repository/MonticelloFileTree-GitTests.package/.filetree +++ b/repository/MonticelloFileTree-GitTests.package/.filetree @@ -1,4 +1,5 @@ { - "noMethodMetaData" : true, "separateMethodMetaAndSource" : false, - "useCypressPropertiesFile" : true } + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/methodProperties.json index 0a973871..83502151 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/methodProperties.json @@ -1,14 +1,15 @@ { - "class" : { - }, "instance" : { - "getTestRepository:" : "ThierryGoubier 4/10/2016 13:01:52", - "getTopAuthorNameFor:in:" : "ThierryGoubier 4/10/2016 13:01:52", - "getTopCommitFor:in:" : "ThierryGoubier 4/10/2016 13:01:52", - "getTopDateAndTimeFor:in:" : "ThierryGoubier 4/10/2016 13:01:52", - "getTopTimestampFor:in:" : "ThierryGoubier 4/10/2016 13:01:52", - "getWriteTestRepository" : "ThierryGoubier 4/10/2016 13:01:52", - "getWriteTestRepositoryWithAuthor:" : "ThierryGoubier 4/10/2016 13:01:52", - "setUp" : "ThierryGoubier 4/10/2016 13:01:52", - "tearDown" : "ThierryGoubier 4/10/2016 13:01:52", - "writeTestRepositoryName" : "ThierryGoubier 4/10/2016 13:01:52" } } + "tearDown" : "ThierryGoubier 3/2/2018 19:24:09", + "getTopDateAndTimeFor:in:" : "ThierryGoubier 3/2/2018 19:24:09", + "getTopTimestampFor:in:" : "ThierryGoubier 3/2/2018 19:24:09", + "getTopAuthorNameFor:in:" : "ThierryGoubier 3/2/2018 19:24:09", + "getTopCommitFor:in:" : "ThierryGoubier 3/2/2018 19:24:09", + "getWriteTestRepositoryWithAuthor:" : "ThierryGoubier 3/2/2018 19:24:09", + "getTestRepository:" : "ThierryGoubier 3/2/2018 19:24:09", + "getWriteTestRepository" : "ThierryGoubier 3/2/2018 19:24:09", + "writeTestRepositoryName" : "ThierryGoubier 3/2/2018 19:24:09", + "setUp" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/properties.json index c5efc322..de189928 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeGenericLoaderTest.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeGenericLoaderTest", - "pools" : [ - ], "super" : "MCFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeGenericLoaderTest", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/methodProperties.json index 401b20eb..cbe4a0df 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/methodProperties.json @@ -1,11 +1,12 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testRepository" : "ThierryGoubier 4/10/2016 13:01:52", - "testWrite" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "validateTimestamp:" : "ThierryGoubier 4/10/2016 13:01:52", - "writeTestRepositoryName" : "ThierryGoubier 4/10/2016 13:01:52" } } + "validateTimestamp:" : "ThierryGoubier 3/2/2018 19:24:09", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "testRepository" : "ThierryGoubier 3/2/2018 19:24:09", + "writeTestRepositoryName" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "testWrite" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/properties.json index f5c3d943..11d4fb6b 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue139Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue139Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue139Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWrite.st b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWrite.st index a380b741..282a4939 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWrite.st +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWrite.st @@ -10,7 +10,8 @@ testWrite load. #('CCC') do: [ :pn | - versionInfo := (MCWorkingCopy allManagers detect: [ :wc | wc packageName = pn ]) ancestors first. + versionInfo := (MCWorkingCopy allManagers + detect: [ :wc | wc packageName = pn ]) ancestors first. version := repo versionWithInfo: versionInfo. - self assert: version info message = (String with: Character lf). + self assert: version info message = ''. self getWriteTestRepository storeVersion: version ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWriteNRead.st b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWriteNRead.st index 7eece441..f791ba5c 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWriteNRead.st +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/instance/testWriteNRead.st @@ -10,7 +10,8 @@ testWriteNRead load. #('CCC') do: [ :pn | - versionInfo := (MCWorkingCopy allManagers detect: [ :wc | wc packageName = pn ]) ancestors first. + versionInfo := (MCWorkingCopy allManagers + detect: [ :wc | wc packageName = pn ]) ancestors first. version := repo versionWithInfo: versionInfo. self getWriteTestRepository storeVersion: version ]. Gofer new @@ -18,8 +19,7 @@ testWriteNRead unload. #('CCC') do: [ :pn | self deny: (self hasPackage: pn) ]. self - shouldnt: [ - Gofer new + shouldnt: [ Gofer new disablePackageCache; repository: self getWriteTestRepository; package: packageName; @@ -28,5 +28,6 @@ testWriteNRead #('CCC') do: [ :pn | self assert: (self hasPackage: pn). - versionInfo := (MCWorkingCopy allManagers detect: [ :wc | wc packageName = pn ]) ancestors first. - self assert: versionInfo message = (String with: Character lf) ] \ No newline at end of file + versionInfo := (MCWorkingCopy allManagers + detect: [ :wc | wc packageName = pn ]) ancestors first. + self assert: versionInfo message = '' ] \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/methodProperties.json index adb7b646..6a0a92ef 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/methodProperties.json @@ -1,8 +1,9 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testWrite" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "writeTestRepositoryName" : "ThierryGoubier 4/10/2016 13:01:52" } } + "writeTestRepositoryName" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "testWrite" : "ThierryGoubier 3/11/2018 23:47", + "testWriteNRead" : "ThierryGoubier 3/11/2018 23:48" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/properties.json index c1cdb893..a8b90592 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue146Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue146Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue146Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/methodProperties.json index 1c102e71..177cdde3 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/methodProperties.json @@ -1,7 +1,8 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "writeTestRepositoryName" : "ThierryGoubier 4/10/2016 13:01:52" } } + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "writeTestRepositoryName" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/properties.json index 41ceae09..c66891db 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue147Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue147Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue147Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/methodProperties.json index c0e38517..8c6db53b 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/methodProperties.json @@ -1,10 +1,11 @@ { - "class" : { - }, "instance" : { - "getTestFileTreeRepository:" : "ThierryGoubier 4/10/2016 13:01:52", - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testWrite" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead2" : "ThierryGoubier 4/10/2016 13:01:52" } } + "testWriteNRead2" : "ThierryGoubier 3/2/2018 19:24:09", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "testWrite" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "getTestFileTreeRepository:" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/properties.json index 7de69510..48afc8ed 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue161Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue161Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue161Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/methodProperties.json index ac13e167..45d8d440 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/methodProperties.json @@ -1,14 +1,15 @@ { - "class" : { - }, "instance" : { - "getPackage:" : "ThierryGoubier 10/4/2016 21:56", - "getTestPackage" : "ThierryGoubier 10/4/2016 22:03", - "hasTestPackage" : "ThierryGoubier 10/4/2016 22:03", - "setUp" : "ThierryGoubier 10/4/2016 21:48", - "tearDown" : "ThierryGoubier 10/4/2016 22:09", - "tearDownPackagesList" : "ThierryGoubier 10/4/2016 21:54", - "testPackageName" : "ThierryGoubier 10/4/2016 21:54", - "testWriteNRead" : "ThierryGoubier 10/4/2016 22:12", - "validateTimestamp:" : "ThierryGoubier 10/4/2016 21:56", - "writeTestRepositoryName" : "ThierryGoubier 10/4/2016 21:41" } } + "setUp" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDown" : "ThierryGoubier 3/2/2018 19:24:09", + "hasTestPackage" : "ThierryGoubier 3/2/2018 19:24:09", + "testPackageName" : "ThierryGoubier 3/2/2018 19:24:09", + "writeTestRepositoryName" : "ThierryGoubier 3/2/2018 19:24:09", + "getPackage:" : "ThierryGoubier 3/2/2018 19:24:09", + "getTestPackage" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "validateTimestamp:" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/properties.json index 349e6310..62cf9f8a 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue210Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue210Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue210Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/methodProperties.json index ac96526a..9afa31f6 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/methodProperties.json @@ -1,9 +1,10 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testWrite" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead2" : "ThierryGoubier 4/10/2016 13:01:52" } } + "testWriteNRead2" : "ThierryGoubier 3/2/2018 19:24:09", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "testWrite" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/properties.json index 16c7a23e..35b0267e 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue26Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue26Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue26Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/methodProperties.json index b8843263..6524106c 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/methodProperties.json @@ -1,10 +1,11 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testRepository" : "ThierryGoubier 4/10/2016 13:01:52", - "testWrite" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "validateTimestamp:" : "ThierryGoubier 4/10/2016 13:01:52" } } + "validateTimestamp:" : "ThierryGoubier 3/2/2018 19:24:09", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "testRepository" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "testWrite" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/properties.json index 355d5617..9b9ecb62 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue33Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue33Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue33Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/methodProperties.json index aaf424db..a3adcc26 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/methodProperties.json @@ -1,7 +1,8 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "validateSelectors" : "ThierryGoubier 4/10/2016 13:01:52" } } + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "validateSelectors" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/properties.json index d8683e32..e0fec2a1 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue69Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue69Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue69Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/methodProperties.json index 07fb2671..4a1d2fe6 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/methodProperties.json @@ -1,10 +1,11 @@ { - "class" : { - }, "instance" : { - "categoryString" : "ThierryGoubier 4/10/2016 13:01:52", - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testWriteNRead" : "ThierryGoubier 4/10/2016 13:01:52", - "validatePackageMetadata" : "ThierryGoubier 4/10/2016 13:01:52", - "versionInfoMessageString" : "ThierryGoubier 4/10/2016 13:01:52" } } + "validatePackageMetadata" : "ThierryGoubier 3/2/2018 19:24:09", + "categoryString" : "ThierryGoubier 3/2/2018 19:24:09", + "versionInfoMessageString" : "ThierryGoubier 3/11/2018 23:51", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "testWriteNRead" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/properties.json index 8b023a04..e8987a06 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue72Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue72Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue72Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/instance/testCreateStonRepository.st b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/instance/testCreateStonRepository.st index c3fcdba6..55596879 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/instance/testCreateStonRepository.st +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/instance/testCreateStonRepository.st @@ -4,12 +4,15 @@ testCreateStonRepository | workingDir tempDir | workingDir := self utilityClass default. - tempDir := self utilityClass directoryFromPath: 'temp' relativeTo: workingDir. - [ - | repoDir repo newRepo | + tempDir := self utilityClass + directoryFromPath: 'temp' + relativeTo: workingDir. + [ | repoDir repo newRepo | self utilityClass ensureDirectoryExists: tempDir. MCGitFileTreeTests gitCreateAndInitRepo: tempDir. - repoDir := self utilityClass directoryFromPath: 'repo' relativeTo: tempDir. + repoDir := self utilityClass + directoryFromPath: 'repo' + relativeTo: tempDir. self utilityClass ensureDirectoryExists: repoDir. repo := MCFileTreeGitRepository new directory: repoDir. self assert: repo propertyFileExtension = '.json'. diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/methodProperties.json index b52e57a3..cb9cc4df 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/methodProperties.json @@ -1,5 +1,6 @@ { - "class" : { - }, "instance" : { - "testCreateStonRepository" : "ThierryGoubier 4/10/2016 13:01:52" } } + "testCreateStonRepository" : "ThierryGoubier 3/3/2018 10:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/properties.json index 34496bfc..61858374 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue90Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue90Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue90Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/instance/writeRepositoryProperties.in..st b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/instance/writeRepositoryProperties.in..st index 402fe441..502b04b1 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/instance/writeRepositoryProperties.in..st +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/instance/writeRepositoryProperties.in..st @@ -19,8 +19,13 @@ writeRepositoryProperties: repositoryProperties in: aDirectory nextPut: $"; yourself. propertyCount < keyCount - ifTrue: [ - fileStream + ifTrue: [ fileStream nextPutAll: ','; lf ] ]. - fileStream nextPutAll: ' }' ] \ No newline at end of file + fileStream nextPutAll: ' }' ]. + MCFileTreeGitRepository + runGitCommand: #('add' '.filetree') + in: aDirectory. + MCFileTreeGitRepository + runGitCommand: #('commit' '-m' 'gitfiletree repository properties') + in: aDirectory \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/methodProperties.json index c42fa2e6..4d1798ab 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/methodProperties.json @@ -1,7 +1,8 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testFlushCache" : "ThierryGoubier 4/10/2016 13:01:52", - "writeRepositoryProperties:in:" : "ThierryGoubier 4/10/2016 13:01:52" } } + "testFlushCache" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "writeRepositoryProperties:in:" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/properties.json index aa00ac16..5c9b475a 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeIssue91Test.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeIssue91Test", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeIssue91Test", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/methodProperties.json index ca1b1728..22f5a292 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/methodProperties.json @@ -1,16 +1,17 @@ { - "class" : { - }, "instance" : { - "baseDefinitions" : "ThierryGoubier 4/10/2016 13:01:52", - "baseDefinitionsWithClassDefinition:" : "ThierryGoubier 4/10/2016 13:01:52", - "targetDefinitions" : "ThierryGoubier 4/10/2016 13:01:52", - "targetDefinitionsWithClassDefinition:" : "ThierryGoubier 4/10/2016 13:01:52", - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testBaseLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testBaseLoadRepository" : "ThierryGoubier 4/10/2016 13:01:52", - "testCypress2CuisLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testIssue74" : "ThierryGoubier 4/10/2016 13:01:52", - "testTargetLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "testTargetLoadRepository" : "ThierryGoubier 4/10/2016 13:01:52", - "validateAgainst:for:" : "ThierryGoubier 4/10/2016 13:01:52" } } + "testTargetLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "testBaseLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "baseDefinitionsWithClassDefinition:" : "ThierryGoubier 3/2/2018 19:24:09", + "testIssue74" : "ThierryGoubier 3/2/2018 19:24:09", + "testCypress2CuisLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "targetDefinitions" : "ThierryGoubier 3/2/2018 19:24:09", + "baseDefinitions" : "ThierryGoubier 3/2/2018 19:24:09", + "targetDefinitionsWithClassDefinition:" : "ThierryGoubier 3/2/2018 19:24:09", + "validateAgainst:for:" : "ThierryGoubier 3/2/2018 19:24:09", + "testTargetLoadRepository" : "ThierryGoubier 3/2/2018 19:24:09", + "testBaseLoadRepository" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/properties.json index 0944ec9a..c7d30876 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTest.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeLoaderTest", - "pools" : [ - ], "super" : "MCGitFileTreeGenericLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeLoaderTest", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/methodProperties.json index 4236183a..2317690f 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/methodProperties.json @@ -1,7 +1,8 @@ { - "class" : { - }, "instance" : { - "tearDownPackagesList" : "ThierryGoubier 4/10/2016 13:01:52", - "testLoad" : "ThierryGoubier 4/10/2016 13:01:52", - "traitDefinitions" : "ThierryGoubier 4/10/2016 13:01:52" } } + "tearDownPackagesList" : "ThierryGoubier 3/2/2018 19:24:09", + "testLoad" : "ThierryGoubier 3/2/2018 19:24:09", + "traitDefinitions" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/properties.json index 4f88592b..04e22e18 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeLoaderTraitsTest.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeLoaderTraitsTest", - "pools" : [ - ], "super" : "MCGitFileTreeLoaderTest", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeLoaderTraitsTest", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/instance/testInitGitFileTree.st b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/instance/testInitGitFileTree.st index 1a065047..fa6c9cfc 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/instance/testInitGitFileTree.st +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/instance/testInitGitFileTree.st @@ -2,10 +2,13 @@ tests testInitGitFileTree "Test if we can create a gitfiletree repo." - | dir | - dir := self utilityClass directoryFromPath: 'temp' relativeTo: self utilityClass default. + | dir repo | + dir := self utilityClass + directoryFromPath: 'temp' + relativeTo: self utilityClass default. self utilityClass ensureDirectoryExists: dir. self assert: dir isWritable. self class gitCreateAndInitRepo: dir. - MCFileTreeGitRepository new directory: dir. - self assert: (self utilityClass filePathExists: '.filetree' relativeTo: dir) \ No newline at end of file + repo := MCFileTreeGitRepository new directory: dir. + self + assert: (self utilityClass filePathExists: '.filetree' relativeTo: dir) \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/methodProperties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/methodProperties.json index 27ac8e66..abe2ffdc 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/methodProperties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/methodProperties.json @@ -1,13 +1,16 @@ { - "class" : { - "gitCreateAndInitRepo:" : "ThierryGoubier 4/10/2016 13:01:52", - "gitCreateAndInitRepo:author:" : "ThierryGoubier 4/10/2016 13:01:52" }, "instance" : { - "setUp" : "ThierryGoubier 4/10/2016 13:01:52", - "tearDown" : "ThierryGoubier 4/10/2016 13:01:52", - "testExtractingFolderName" : "ThierryGoubier 4/10/2016 13:01:52", - "testInitGitFileTree" : "ThierryGoubier 4/10/2016 13:01:52", - "testInitGitRepo" : "ThierryGoubier 4/10/2016 13:01:52", - "testStoreGitFileTree" : "ThierryGoubier 4/10/2016 13:01:52", - "testStoreReadGitFileTree" : "ThierryGoubier 4/10/2016 13:01:52", - "utilityClass" : "ThierryGoubier 4/10/2016 13:01:52" } } + "testInitGitRepo" : "ThierryGoubier 3/2/2018 19:24:09", + "utilityClass" : "ThierryGoubier 3/2/2018 19:24:09", + "testExtractingFolderName" : "ThierryGoubier 3/2/2018 19:24:09", + "testStoreGitFileTree" : "ThierryGoubier 3/2/2018 19:24:09", + "tearDown" : "ThierryGoubier 3/2/2018 19:24:09", + "testInitGitFileTree" : "ThierryGoubier 3/2/2018 21:10", + "setUp" : "ThierryGoubier 3/2/2018 19:24:09", + "testStoreReadGitFileTree" : "ThierryGoubier 3/2/2018 19:24:09" + }, + "class" : { + "gitCreateAndInitRepo:" : "ThierryGoubier 3/2/2018 19:24:09", + "gitCreateAndInitRepo:author:" : "ThierryGoubier 3/2/2018 19:24:09" + } +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/properties.json b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/properties.json index 65607acc..c758451d 100644 --- a/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/MCGitFileTreeTests.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "MonticelloFileTree-GitTests", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCGitFileTreeTests", - "pools" : [ - ], "super" : "TestCase", - "type" : "normal" } + "category" : "MonticelloFileTree-GitTests", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCGitFileTreeTests", + "type" : "normal" +} \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/monticello.meta/version b/repository/MonticelloFileTree-GitTests.package/monticello.meta/version index 87ffc8e7..801be657 100644 --- a/repository/MonticelloFileTree-GitTests.package/monticello.meta/version +++ b/repository/MonticelloFileTree-GitTests.package/monticello.meta/version @@ -1,2 +1 @@ -(name 'MonticelloFileTree-GitTests-ThierryGoubier.38' message 'Add a test for issue 210 (setting name and package timestamp)' id '09185fb6-4264-4061-90e9-49069c533e8b' date '4 October 2016' time '10:13:52.735811 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-GitTests-ThierryGoubier.1' message 'Update git tests -' id '84804d91-883e-5fad-8c45-5e47393e0316' date '4 October 2016' time '10:05:39 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'MonticelloFileTree-GitTests-ThierryGoubier.45' message 'Change tests for commit messages without additional characters' id '482a2d9e-8c23-0d00-86c2-0c560d1e64d9' date '11 March 2018' time '11:52:33.392606 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-GitTests-ThierryGoubier.1' message 'Change empty / utf8 end of commit message tests ' id 'e91fb7b5-bf85-50e7-8d65-87082e5c6cca' date '11 March 2018' time '10:19:34 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/repository/MonticelloFileTree-GitTests.package/properties.json b/repository/MonticelloFileTree-GitTests.package/properties.json index f037444a..6f31cf5a 100644 --- a/repository/MonticelloFileTree-GitTests.package/properties.json +++ b/repository/MonticelloFileTree-GitTests.package/properties.json @@ -1,2 +1 @@ -{ - } +{ } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeAbstractTest.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeAbstractTest.class/methodProperties.json index f9c45f18..29790edc 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeAbstractTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeAbstractTest.class/methodProperties.json @@ -1,20 +1,20 @@ { "instance" : { - "snapshotCypressCuisDefinitions" : "ThierryGoubier 7/23/2015 08:03:26", - "baseDefinitionsWithClassDefinition:timestamp:" : "ThierryGoubier 7/23/2015 08:03:26", - "basePackageStructureJson" : "ThierryGoubier 7/23/2015 08:03:26", - "baseDefinitionsWithClassDefinition:" : "ThierryGoubier 7/23/2015 08:03:26", - "utilityClass" : "ThierryGoubier 7/23/2015 08:03:26", - "classComment" : "ThierryGoubier 7/23/2015 08:03:26", - "snapshotClassDefinition:" : "ThierryGoubier 7/23/2015 08:03:26", - "baseDefinitions" : "ThierryGoubier 7/23/2015 08:03:26", - "targetDefinitions" : "ThierryGoubier 7/23/2015 08:03:26", - "conditionTimestamp:" : "ThierryGoubier 7/23/2015 08:03:26", - "targetDefinitionsWithClassDefinition:" : "ThierryGoubier 7/23/2015 08:03:26", - "snapshotBaseDefinitions" : "ThierryGoubier 7/23/2015 08:03:26", - "standardClassDefinition:" : "ThierryGoubier 7/23/2015 08:03:26", - "snapshotTreeBaseDefinitions" : "ThierryGoubier 7/23/2015 08:03:26", - "setUp" : "ThierryGoubier 7/23/2015 08:03:26" + "snapshotCypressCuisDefinitions" : "ThierryGoubier 3/14/2017 23:02:59", + "baseDefinitionsWithClassDefinition:timestamp:" : "ThierryGoubier 3/14/2017 23:02:59", + "basePackageStructureJson" : "ThierryGoubier 3/14/2017 23:02:59", + "baseDefinitionsWithClassDefinition:" : "ThierryGoubier 3/14/2017 23:02:59", + "utilityClass" : "ThierryGoubier 3/14/2017 23:02:59", + "classComment" : "ThierryGoubier 3/14/2017 23:02:59", + "snapshotClassDefinition:" : "ThierryGoubier 3/14/2017 23:02:59", + "baseDefinitions" : "ThierryGoubier 3/14/2017 23:02:59", + "targetDefinitions" : "ThierryGoubier 3/14/2017 23:02:59", + "conditionTimestamp:" : "ThierryGoubier 3/14/2017 23:02:59", + "targetDefinitionsWithClassDefinition:" : "ThierryGoubier 3/14/2017 23:02:59", + "snapshotBaseDefinitions" : "ThierryGoubier 3/14/2017 23:02:59", + "standardClassDefinition:" : "ThierryGoubier 3/14/2017 23:02:59", + "snapshotTreeBaseDefinitions" : "ThierryGoubier 3/14/2017 23:02:59", + "setUp" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeFileUtilitiesTests.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeFileUtilitiesTests.class/methodProperties.json index c25171b0..a4e22f94 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeFileUtilitiesTests.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeFileUtilitiesTests.class/methodProperties.json @@ -1,30 +1,30 @@ { "instance" : { - "testDirectoryFromPath_" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryPathString" : "ThierryGoubier 7/23/2015 08:03:26", - "testReadStreamFor_in_do_" : "ThierryGoubier 7/23/2015 08:03:26", - "testEnsureFilePathExists_relativeTo_" : "ThierryGoubier 7/23/2015 08:03:26", - "setUp" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryFromEntry" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryPathString_" : "ThierryGoubier 7/23/2015 08:03:26", - "createDefaultFileDirectory" : "ThierryGoubier 7/23/2015 08:03:26", - "setUp:unitUnderTest:validation:tearDown:" : "ThierryGoubier 7/23/2015 08:03:26", - "utilityClass" : "ThierryGoubier 7/23/2015 08:03:26", - "testEnsureFilePathExistsRelativeTo" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDown" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryName_" : "ThierryGoubier 7/23/2015 08:03:26", - "deleteAll:" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryFromEntry_" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryName" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryFromPath" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryFromPathRelativeTo" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteStreamFor_in_do_" : "ThierryGoubier 7/23/2015 08:03:26", - "testDirectoryFromPath_relativeTo_" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteStreamForInDo" : "ThierryGoubier 7/23/2015 08:03:26", - "setUp:harness:tearDown:" : "ThierryGoubier 7/23/2015 08:03:26", - "testReadStreamForInDo" : "ThierryGoubier 7/23/2015 08:03:26" + "testDirectoryFromPath_" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryPathString" : "ThierryGoubier 3/14/2017 23:02:59", + "testReadStreamFor_in_do_" : "ThierryGoubier 3/14/2017 23:02:59", + "testEnsureFilePathExists_relativeTo_" : "ThierryGoubier 3/14/2017 23:02:59", + "setUp" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryFromEntry" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryPathString_" : "ThierryGoubier 3/14/2017 23:02:59", + "createDefaultFileDirectory" : "ThierryGoubier 3/14/2017 23:02:59", + "setUp:unitUnderTest:validation:tearDown:" : "ThierryGoubier 3/14/2017 23:02:59", + "utilityClass" : "ThierryGoubier 3/14/2017 23:02:59", + "testEnsureFilePathExistsRelativeTo" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDown" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryName_" : "ThierryGoubier 3/14/2017 23:02:59", + "deleteAll:" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryFromEntry_" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryName" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryFromPath" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryFromPathRelativeTo" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteStreamFor_in_do_" : "ThierryGoubier 3/14/2017 23:02:59", + "testDirectoryFromPath_relativeTo_" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteStreamForInDo" : "ThierryGoubier 3/14/2017 23:02:59", + "setUp:harness:tearDown:" : "ThierryGoubier 3/14/2017 23:02:59", + "testReadStreamForInDo" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { - "isAbstract" : "ThierryGoubier 7/23/2015 08:03:26" + "isAbstract" : "ThierryGoubier 3/14/2017 23:02:59" } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/instance/getTestRepositoriesDirectory.st b/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/instance/getTestRepositoriesDirectory.st index 45ba30e8..2e1aa33c 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/instance/getTestRepositoriesDirectory.st +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/instance/getTestRepositoriesDirectory.st @@ -9,7 +9,7 @@ getTestRepositoriesDirectory ifTrue: [ wc := mgr ] ]. wc ifNil: [ ^ self assert: false ]. fileTreeRepo := (wc repositoryGroup repositories - reject: [ :repo | MCCacheRepository default = repo ]) + reject: [ :repo | MCCacheRepository uniqueInstance = repo ]) detect: [ :repo | repo isKindOf: MCFileTreeRepository ]. fileTreeRepoPath := fileTreeRepo directory fileTreeUtilityClass directoryPathString: fileTreeRepo directory. "use fileTreeUtilityClass and path so we can test FileDirectory and FileSystem in same image" diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/methodProperties.json index a37b1fbc..3e683f27 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeGenericLoaderTest.class/methodProperties.json @@ -1,12 +1,12 @@ { "instance" : { - "getTestRepository:" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDown" : "ThierryGoubier 7/23/2015 08:03:26", - "hasPackage:" : "ThierryGoubier 7/23/2015 08:03:26", - "getMczTestRepository:" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "getTestRepositoriesDirectory" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackages:" : "ThierryGoubier 7/23/2015 08:03:26" + "getTestRepository:" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDown" : "ThierryGoubier 3/14/2017 23:02:59", + "hasPackage:" : "ThierryGoubier 3/14/2017 23:02:59", + "getMczTestRepository:" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "getTestRepositoriesDirectory" : "ThierryGoubier 3/4/2018 18:48", + "tearDownPackages:" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue136Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue136Test.class/methodProperties.json index a4c48979..ef8d8bfb 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue136Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue136Test.class/methodProperties.json @@ -1,11 +1,11 @@ { "instance" : { - "testExtensionMethodError" : "ThierryGoubier 7/23/2015 08:03:26", - "testClassError" : "ThierryGoubier 7/23/2015 08:03:26", - "testClassV3" : "ThierryGoubier 7/23/2015 08:03:26", - "testExtensionMethodV3" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDown" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26" + "testExtensionMethodError" : "ThierryGoubier 3/14/2017 23:02:59", + "testClassError" : "ThierryGoubier 3/14/2017 23:02:59", + "testClassV3" : "ThierryGoubier 3/14/2017 23:02:59", + "testExtensionMethodV3" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDown" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue26Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue26Test.class/methodProperties.json index 787fe522..0f1a8f3e 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue26Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue26Test.class/methodProperties.json @@ -1,9 +1,9 @@ { "instance" : { - "testWriteNRead" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testWrite" : "ThierryGoubier 7/23/2015 08:03:26" + "testWriteNRead" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testWrite" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue33Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue33Test.class/methodProperties.json index cf9879c8..7df840a1 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue33Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue33Test.class/methodProperties.json @@ -1,10 +1,10 @@ { "instance" : { - "validateTimestamp:" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteNRead" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "testWrite" : "ThierryGoubier 7/23/2015 08:03:26" + "validateTimestamp:" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteNRead" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "testWrite" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue69Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue69Test.class/methodProperties.json index 68238895..47d76086 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue69Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue69Test.class/methodProperties.json @@ -1,9 +1,9 @@ { "instance" : { - "validateSelectors" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteNRead" : "ThierryGoubier 7/23/2015 08:03:26" + "validateSelectors" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteNRead" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue72Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue72Test.class/methodProperties.json index ef55f410..458fe872 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue72Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue72Test.class/methodProperties.json @@ -1,11 +1,11 @@ { "instance" : { - "validatePackageMetadata" : "ThierryGoubier 7/23/2015 08:03:26", - "categoryString" : "ThierryGoubier 7/23/2015 08:03:26", - "versionInfoMessageString" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteNRead" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26" + "validatePackageMetadata" : "ThierryGoubier 3/14/2017 23:02:59", + "categoryString" : "ThierryGoubier 3/14/2017 23:02:59", + "versionInfoMessageString" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteNRead" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue74Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue74Test.class/methodProperties.json index 67c38b83..7487a72f 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue74Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue74Test.class/methodProperties.json @@ -1,6 +1,6 @@ { "instance" : { - "testGofer" : "ThierryGoubier 7/23/2015 08:03:26" + "testGofer" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue90Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue90Test.class/methodProperties.json index 73af8e56..0d25d567 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue90Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue90Test.class/methodProperties.json @@ -1,10 +1,10 @@ { "instance" : { - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testCreateStonRepository" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteNRead" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "validateStonPropertyFilesFor:" : "ThierryGoubier 7/23/2015 08:03:26" + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testCreateStonRepository" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteNRead" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "validateStonPropertyFilesFor:" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue91Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue91Test.class/methodProperties.json index de9e8c6d..9d961fb7 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue91Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue91Test.class/methodProperties.json @@ -1,8 +1,8 @@ { "instance" : { - "testFlushCache" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "writeRepositoryProperties:in:" : "ThierryGoubier 7/23/2015 08:03:26" + "testFlushCache" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "writeRepositoryProperties:in:" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue92Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue92Test.class/methodProperties.json index 68238895..47d76086 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue92Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue92Test.class/methodProperties.json @@ -1,9 +1,9 @@ { "instance" : { - "validateSelectors" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testWriteNRead" : "ThierryGoubier 7/23/2015 08:03:26" + "validateSelectors" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testWriteNRead" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue97Test.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue97Test.class/methodProperties.json index 202e71ff..f3d786e3 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue97Test.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeIssue97Test.class/methodProperties.json @@ -1,8 +1,8 @@ { "instance" : { - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "setUp" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26" + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "setUp" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeJsonTest.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeJsonTest.class/methodProperties.json index 10245501..33afd4f7 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeJsonTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeJsonTest.class/methodProperties.json @@ -1,14 +1,14 @@ { "instance" : { - "testPropertyDictionaryRead" : "ThierryGoubier 3/14/2017 23:02", - "propertyDictionary" : "ThierryGoubier 7/23/2015 08:03:26", - "sampleHtmlJson" : "ThierryGoubier 7/23/2015 08:03:26", - "testPropertyDictionaryHtmlRead" : "ThierryGoubier 3/14/2017 23:02", - "escapedJson" : "ThierryGoubier 3/14/2017 22:47", - "testCharacterEscape" : "ThierryGoubier 3/14/2017 22:43", - "testJson" : "ThierryGoubier 3/14/2017 22:49", - "sampleJson" : "ThierryGoubier 3/14/2017 22:56", - "testPropertyDictionaryWrite" : "ThierryGoubier 3/14/2017 22:55" + "testPropertyDictionaryRead" : "ThierryGoubier 3/14/2017 23:02:59", + "propertyDictionary" : "ThierryGoubier 3/14/2017 23:02:59", + "sampleHtmlJson" : "ThierryGoubier 3/14/2017 23:02:59", + "testPropertyDictionaryHtmlRead" : "ThierryGoubier 3/14/2017 23:02:59", + "escapedJson" : "ThierryGoubier 3/14/2017 23:02:59", + "testCharacterEscape" : "ThierryGoubier 3/14/2017 23:02:59", + "testJson" : "ThierryGoubier 3/14/2017 23:02:59", + "sampleJson" : "ThierryGoubier 3/14/2017 23:02:59", + "testPropertyDictionaryWrite" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTest.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTest.class/methodProperties.json index 172cde37..81f52e86 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTest.class/methodProperties.json @@ -1,12 +1,12 @@ { "instance" : { - "validateAgainst:for:" : "ThierryGoubier 7/23/2015 08:03:26", - "testTreeBaseLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testTargetLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testCypressCuisLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "testSnapshotBaseLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "testBaseLoad" : "ThierryGoubier 7/23/2015 08:03:26" + "validateAgainst:for:" : "ThierryGoubier 3/14/2017 23:02:59", + "testTreeBaseLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testTargetLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testCypressCuisLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "testSnapshotBaseLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "testBaseLoad" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTraitsTest.class/methodProperties.json b/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTraitsTest.class/methodProperties.json index defbb916..a6a7d779 100644 --- a/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTraitsTest.class/methodProperties.json +++ b/repository/MonticelloFileTree-Tests.package/MCFileTreeLoaderTraitsTest.class/methodProperties.json @@ -1,9 +1,9 @@ { "instance" : { - "expectedFailures" : "ThierryGoubier 7/23/2015 08:03:26", - "tearDownPackagesList" : "ThierryGoubier 7/23/2015 08:03:26", - "testLoad" : "ThierryGoubier 7/23/2015 08:03:26", - "traitDefinitions" : "ThierryGoubier 7/23/2015 08:03:26" + "expectedFailures" : "ThierryGoubier 3/14/2017 23:02:59", + "tearDownPackagesList" : "ThierryGoubier 3/14/2017 23:02:59", + "testLoad" : "ThierryGoubier 3/14/2017 23:02:59", + "traitDefinitions" : "ThierryGoubier 3/14/2017 23:02:59" }, "class" : { } } \ No newline at end of file diff --git a/repository/MonticelloFileTree-Tests.package/monticello.meta/version b/repository/MonticelloFileTree-Tests.package/monticello.meta/version index 22144189..18509dbc 100644 --- a/repository/MonticelloFileTree-Tests.package/monticello.meta/version +++ b/repository/MonticelloFileTree-Tests.package/monticello.meta/version @@ -1,40 +1,2 @@ -(name 'MonticelloFileTree-Tests-ThierryGoubier.40' message 'urlDecoded ...' id '4de650ba-1907-0d00-9df4-51500cc86cd2' date '14 March 2017' time '11:02:58.679812 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Tests-ThierryGoubier.39' message 'Updated tests -' id '9ca0c8d4-e709-56fd-b27f-b11eda8f8d6f' date '14 March 2017' time '10:56:39 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Tests-ThierryGoubier.38' message 'No more TimeStamp class in Pharo5 -' id 'b79bd3f0-e2e0-59a8-a84e-a92b3450eeb7' date '23 July 2015' time '8:03:26 am' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.37' message 'Issue #141: MCFileTreeLoaderTraitsTest>>testLoad expected failure in Pharo3.0 only; patch wierd Paro4.0 BitBlt error that causes MCFileTreeIssue136Test>>testExtensionMethodError to fail -' id '58dc9f02-e3f8-5b77-9fd9-a3ea03789dae' date '1 February 2015' time '3:39:22 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.36' message 'Merge branch ''master'' into pharo3.0_dev :: Issue #136 bugfix -' id '93f95680-6f14-514c-8d18-0fa385366323' date '1 February 2015' time '7:38:03 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-BenjaminVanRyseghem.31' message 'Fix timestamp api -' id 'e0010eef-e364-561d-a21b-934ec516c53e' date '12 January 2014' time '11:54:09 pm' author 'BenjaminVanRyseghem' ancestors ((name 'MonticelloFileTree-Tests-BenjaminVanRyseghem.30' message 'New pass done for issue 119 -' id 'f1c737be-b022-54e5-917d-9b355558ceda' date '24 December 2013' time '2:07:43 am' author 'BenjaminVanRyseghem' ancestors ((name 'MonticelloFileTree-Tests-BenjaminVanRyseghem.29' message 'Issue 119: Error while writting $\ -' id '015b5ca9-f419-5265-ad04-ac5e23189fc4' date '24 December 2013' time '1:20:31 am' author 'BenjaminVanRyseghem' ancestors ((name 'MonticelloFileTree-Tests-DEMAREYChristophe.28' message 'There is a bug with Class Traits on Pharo 3.0 => this test is at this time an expected failure. -' id 'fadacadf-4668-548a-a6f5-9add9cf8a74c' date '8 September 2013' time '12:16:27 pm' author 'DEMAREYChristophe' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.27' message 'Merge branch ''master'' into pharo3.0_dev -' id '050e931c-aabc-5a4f-b001-6ee43a91eced' date '8 August 2013' time '8:13:45 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.26' message 'Merge pull request #99 from krono/pharo2.0 -' id '9f509d09-7899-5640-94f3-c940696a5df3' date '8 August 2013' time '7:23:59 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.23' message 'Merge branch ''master'' into pharo3.0_dev -' id 'b21698a4-ea28-5270-a3fa-5698b6ed62c7' date '10 July 2013' time '11:04:57 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.21' message 'Merge branch ''master'' into pharo3.0_dev -' id 'e94750b0-599e-5d02-acf9-2ef431f7370f' date '7 July 2013' time '6:11:37 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.19' message 'integrate bugfix for Issue #74 from MonticelloFileTree-Core.pharo20-ThierryGoubier.93 and add tests -' id '5d246e7a-458b-5b93-8b6e-38790de575ef' date '23 May 2013' time '6:16:48 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.18' message 'Merge branch ''pharo1.4_dev'' into pharo1.4 -' id '2390ef20-8f93-50cc-a912-242ee61458a0' date '23 May 2013' time '5:00:34 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.17' message 'Merge branch ''master'' into pharo2.0_dev -' id '62c6a159-1778-53a2-8670-1b1de64ca6f3' date '23 May 2013' time '5:42:43 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.15' message 'Merge branch ''master'' into pharo2.0_dev -' id 'e6a97c36-e5e5-50b6-b493-4c9e527d8ede' date '22 May 2013' time '8:22:48 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.12' message 'Merge branch ''master'' into pharo2.0: all tests green in Pharo-2.0a-20305 -' id '1186ad8a-be03-51b4-8871-b9b4f7f91f93' date '24 September 2012' time '5:14:05 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.11' message 'Issue #52: use packageSet instead of packageInfo (packageInfo deprecated) -' id '3e82ef85-3694-5797-b6c5-adcdf058f1a0' date '24 September 2012' time '4:52:55 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.8' message 'Issue #52: restructured to accommodate FileSystem for Pharo-2.0 -' id '9d4bd293-ca7f-5ed5-bb2d-c11d7f1e298d' date '10 August 2012' time '5:06:17 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.7' message 'Merge branch ''master'' into pharo1.4 -' id 'e5e878f3-f2b1-55c6-96cb-9ccd1953bef0' date '5 August 2012' time '10:42:31 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.5' message 'Merge branch ''pharo1.3'' into pharo1.4: fix for Issue #48 -' id '0b1f95c7-4102-5a10-8f32-f4ac3a61d4ad' date '10 July 2012' time '9:48:02 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.3' message 'Merge branch ''master'' into pharo1.4: Issue #38 -' id '2d753f76-0e9a-55f2-b8ee-419b88920caa' date '5 July 2012' time '11:42:28 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.2' message 'Merge branch ''issue_38'' into pharo1.3: Issue #38 fix (cherry picked from commit 4065e9230164df95dd013cfaa2f58e89803ab391) -' id '3489563b-b290-5a89-b857-bf2299de7039' date '5 July 2012' time '11:24:40 am' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.4' message 'Issue #48: proposed fix -' id 'f3dd6592-8772-57b0-8764-d20ffc382f9e' date '10 July 2012' time '9:40:33 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.1' message 'Issue #38: move MonticelloFileTree-Tests to main repository update BaselineOfFileTree -' id 'f97c4f76-570c-5d8f-a4aa-23e739bcee47' date '5 July 2012' time '8:54:23 am' author 'DaleHenrichs' ancestors () stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.6' message 'update tests for Issue #51 -' id '9cb467bb-6baf-5694-8dc2-e5b8d7202be8' date '30 July 2012' time '10:08:11 am' author 'DaleHenrichs' ancestors ((id '3489563b-b290-5a89-b857-bf2299de7039')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.10' message 'Merge branch ''issue_60'' into pharo1.4 (Issue #60) (cherry picked from commit 6ee3b9c66246db3e1bb695f70b8089a5d59b23a4) -' id '86a86270-5698-562c-87c8-ba2de5b4169d' date '15 September 2012' time '11:59:09 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.9' message 'Merge branch ''issue_52'' into pharo1.4: Issue #52 -' id '0b623d4c-9de0-5865-8398-f9b1ebb48f98' date '10 August 2012' time '10:34:37 pm' author 'DaleHenrichs' ancestors ((id '9cb467bb-6baf-5694-8dc2-e5b8d7202be8')) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.14' message 'use selectors that are compatible with GemStone2.x for Issue #69 test case (cherry picked from commit 3901376698f7ed3bc168b5733f076478bb5fd5e4) -' id '9636e3cb-04e0-52cb-bd6e-9e2f7231b9a5' date '20 February 2013' time '3:36:07 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.13' message 'cherry-pick Issue #69 fix: bbe41fcd235d71e7849d3cf4967cc3486176488c -' id '81c79bde-fc44-5aa3-8a16-837640b0435f' date '19 February 2013' time '9:35:45 pm' author 'DaleHenrichs' ancestors ((id '86a86270-5698-562c-87c8-ba2de5b4169d')) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.16' message 'cherry-pick the Issue #72 test case from gemstone2.4 branch -' id '78888168-eddc-55ff-8afe-3096d64e394c' date '22 May 2013' time '10:20:18 am' author 'DaleHenrichs' ancestors ((id '9636e3cb-04e0-52cb-bd6e-9e2f7231b9a5')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.20' message 'Merge branch ''issue_90'' into gemstone2.4 -' id '4ccb2d8c-df1e-5bbd-b852-48d2a16ea0e6' date '7 July 2013' time '5:22:05 pm' author 'DaleHenrichs' ancestors ((id '78888168-eddc-55ff-8afe-3096d64e394c')) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.22' message 'Merge branch ''issue_91'' into gemstone2.4 (cherry picked from commit 4a291b655b27a46ff5136676ea7c660d2eb09025) -' id '9f2aab43-16cc-512a-aa07-ee2cda6e73d0' date '10 July 2013' time '9:38:39 am' author 'DaleHenrichs' ancestors ((id '4ccb2d8c-df1e-5bbd-b852-48d2a16ea0e6')) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.25' message 'Merge branch ''issue_97'' into gemstone2.4 (cherry picked from commit fc52838e199c19deb55552fc9baf3e0bf42cd3cb) -' id '83d5c569-250c-5ec2-b0b4-8a667f8ba74d' date '1 August 2013' time '7:38:16 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.24' message 'Merge branch ''issue_92'' into gemstone2.4 (cherry picked from commit 24c63a7a16310dad16db1006b97c8a9ee098c1f7) -' id '6546873b-e5a8-5e10-ab43-b6625a58ebc3' date '22 July 2013' time '9:25:03 pm' author 'DaleHenrichs' ancestors ((id '9f2aab43-16cc-512a-aa07-ee2cda6e73d0')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'MonticelloFileTree-Tests-DaleHenrichs.35' message 'Merge branch ''gemstone2.4_dev'' into gemstone2.4 :: final fix for Issue #136 -' id '2a475dd5-c87f-5876-97e4-6e7f08e82925' date '31 January 2015' time '7:34:23 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.34' message 'Issue #136: cherry pick code from gemstone2.4 branch :: completely disable validation due to https://github.com/GsDevKit/gsDevKitHome/issues/53 -' id '914f5a50-dc3d-5e9e-b41b-74b6d806482f' date '31 January 2015' time '2:46:23 pm' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.33' message 'Merge branch ''master'' into pharo1.1_dev .. cleaned out gemstone-specific code -' id '5f6ed357-a97f-5fcd-89fb-7de9c61c6dc9' date '31 January 2015' time '11:45:14 am' author 'DaleHenrichs' ancestors ((name 'MonticelloFileTree-Tests-DaleHenrichs.32' message 'Merge pull request #137 from dalehenrich/issue_136 -' id '377b9396-928d-5a3c-afcc-0ff872bff4bf' date '31 January 2015' time '11:04:15 am' author 'DaleHenrichs' ancestors ((id '83d5c569-250c-5ec2-b0b4-8a667f8ba74d')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'MonticelloFileTree-Tests-ThierryGoubier.41' message 'MCCacheRepository uniqueInstance it is, not default' id '55b0f090-fb22-0d00-8803-9ffc03011218' date '4 March 2018' time '6:49:21.067528 pm' author 'ThierryGoubier' ancestors ((name 'MonticelloFileTree-Tests-ThierryGoubier.40' message 'urlDecoded ... +' id '829dd9f8-25f6-55b5-bb62-94167708a757' date '14 March 2017' time '11:02:59 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/.filetree b/tests/testRepositories/issue146/CCC.package/.filetree index 8998102c..57a67973 100644 --- a/tests/testRepositories/issue146/CCC.package/.filetree +++ b/tests/testRepositories/issue146/CCC.package/.filetree @@ -1,4 +1,5 @@ { - "noMethodMetaData" : true, "separateMethodMetaAndSource" : false, - "useCypressPropertiesFile" : true } + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/CCC.class/methodProperties.json b/tests/testRepositories/issue146/CCC.package/CCC.class/methodProperties.json index b5311dc3..f361291e 100644 --- a/tests/testRepositories/issue146/CCC.package/CCC.class/methodProperties.json +++ b/tests/testRepositories/issue146/CCC.package/CCC.class/methodProperties.json @@ -1,13 +1,16 @@ { - "class" : { - "token:" : "ThierryGoubier 3/3/2015 22:49:19", - "wantsChangeSetLogging" : "ThierryGoubier 3/3/2015 22:49:19" }, "instance" : { - "=" : "ThierryGoubier 3/3/2015 22:49:19", - "asString" : "ThierryGoubier 3/3/2015 22:49:19", - "description" : "ThierryGoubier 3/3/2015 22:49:19", - "hash" : "ThierryGoubier 3/3/2015 22:49:19", - "printString" : "ThierryGoubier 3/3/2015 22:49:19", - "summary" : "ThierryGoubier 3/3/2015 22:49:19", - "token" : "ThierryGoubier 3/3/2015 22:49:19", - "token:" : "ThierryGoubier 3/3/2015 22:49:19" } } + "description" : "ThierryGoubier 1/6/2016 08:18:39", + "asString" : "ThierryGoubier 1/6/2016 08:18:39", + "token" : "ThierryGoubier 1/6/2016 08:18:39", + "=" : "ThierryGoubier 1/6/2016 08:18:39", + "token:" : "ThierryGoubier 1/6/2016 08:18:39", + "hash" : "ThierryGoubier 1/6/2016 08:18:39", + "summary" : "ThierryGoubier 1/6/2016 08:18:39", + "printString" : "ThierryGoubier 1/6/2016 08:18:39" + }, + "class" : { + "token:" : "ThierryGoubier 1/6/2016 08:18:39", + "wantsChangeSetLogging" : "ThierryGoubier 1/6/2016 08:18:39" + } +} \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/CCC.class/properties.json b/tests/testRepositories/issue146/CCC.package/CCC.class/properties.json index 82469b9c..8ed0ff27 100644 --- a/tests/testRepositories/issue146/CCC.package/CCC.class/properties.json +++ b/tests/testRepositories/issue146/CCC.package/CCC.class/properties.json @@ -1,15 +1,14 @@ { - "category" : "CCC", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", + "super" : "Object", + "category" : "CCC", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], "instvars" : [ "definition", - "token" ], + "token" + ], "name" : "CCC", - "pools" : [ - ], - "super" : "Object", - "type" : "normal" } + "type" : "normal" +} \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/Object.extension/methodProperties.json b/tests/testRepositories/issue146/CCC.package/Object.extension/methodProperties.json index 96b2b74e..f92537ab 100644 --- a/tests/testRepositories/issue146/CCC.package/Object.extension/methodProperties.json +++ b/tests/testRepositories/issue146/CCC.package/Object.extension/methodProperties.json @@ -1,5 +1,8 @@ { - "class" : { - "aFiletreeCCCClassMethod" : "ThierryGoubier 3/3/2015 22:49:19" }, "instance" : { - "aFiletreeCCCMethod" : "ThierryGoubier 3/3/2015 22:49:19" } } + "aFiletreeCCCMethod" : "ThierryGoubier 1/6/2016 08:18:39" + }, + "class" : { + "aFiletreeCCCClassMethod" : "ThierryGoubier 1/6/2016 08:18:39" + } +} \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/Object.extension/properties.json b/tests/testRepositories/issue146/CCC.package/Object.extension/properties.json index 3d3b9ec4..f30a86e1 100644 --- a/tests/testRepositories/issue146/CCC.package/Object.extension/properties.json +++ b/tests/testRepositories/issue146/CCC.package/Object.extension/properties.json @@ -1,2 +1,3 @@ { - "name" : "Object" } + "name" : "Object" +} \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/monticello.meta/version b/tests/testRepositories/issue146/CCC.package/monticello.meta/version index d5e2bba2..232de381 100644 --- a/tests/testRepositories/issue146/CCC.package/monticello.meta/version +++ b/tests/testRepositories/issue146/CCC.package/monticello.meta/version @@ -1,3 +1,4 @@ -(name 'CCC-ThierryGoubier.3' message '' id 'b4035c2a-4e7e-4806-8be2-a63c57e802f0' date '6 January 2016' time '8:18:39.090082 am' author 'ThierryGoubier' ancestors ((name 'CCC-ThierryGoubier.2' message ' +(name 'CCC-ThierryGoubier.4' message '' id 'd97d1f62-e622-0d00-8f97-d7090f1cc7b7' date '3 March 2018' time '5:33:01.292352 pm' author 'ThierryGoubier' ancestors ((name 'CCC-ThierryGoubier.3' message ' +' id '7250584d-8357-5e2f-a85f-df95acd4f3a3' date '6 January 2016' time '8:18:39 am' author 'ThierryGoubier' ancestors ((name 'CCC-ThierryGoubier.2' message ' ' id 'a6011f4f-b911-5bd2-8b26-7435f4ab953a' date '3 March 2015' time '10:49:19 pm' author 'ThierryGoubier' ancestors ((name 'CCC-ThierryGoubier.1' message ' -' id '5f8c1241-3284-5c63-9f73-cffa5d11eeea' date '3 March 2015' time '10:03:19 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +' id '5f8c1241-3284-5c63-9f73-cffa5d11eeea' date '3 March 2015' time '10:03:19 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/tests/testRepositories/issue146/CCC.package/properties.json b/tests/testRepositories/issue146/CCC.package/properties.json index f037444a..6f31cf5a 100644 --- a/tests/testRepositories/issue146/CCC.package/properties.json +++ b/tests/testRepositories/issue146/CCC.package/properties.json @@ -1,2 +1 @@ -{ - } +{ } \ No newline at end of file diff --git a/tests/testRepositories/issue72.2/Issue72.package/.filetree b/tests/testRepositories/issue72.2/Issue72.package/.filetree index 8998102c..57a67973 100644 --- a/tests/testRepositories/issue72.2/Issue72.package/.filetree +++ b/tests/testRepositories/issue72.2/Issue72.package/.filetree @@ -1,4 +1,5 @@ { - "noMethodMetaData" : true, "separateMethodMetaAndSource" : false, - "useCypressPropertiesFile" : true } + "noMethodMetaData" : true, + "useCypressPropertiesFile" : true +} \ No newline at end of file diff --git a/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/methodProperties.json b/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/methodProperties.json index e5bf6551..f020f842 100644 --- a/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/methodProperties.json +++ b/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/methodProperties.json @@ -1,5 +1,6 @@ { + "instance" : { }, "class" : { - "initialize" : "ThierryGoubier 8/18/2015 08:12:32" }, - "instance" : { - } } + "initialize" : "ThierryGoubier 11/27/2016 18:59:40" + } +} \ No newline at end of file diff --git a/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/properties.json b/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/properties.json index 2c9170a8..86298eb4 100644 --- a/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/properties.json +++ b/tests/testRepositories/issue72.2/Issue72.package/MCFileTreeIssue72TestClass.class/properties.json @@ -1,14 +1,11 @@ { - "category" : "Issue72-Glâsässe", - "classinstvars" : [ - ], - "classvars" : [ - ], "commentStamp" : "", - "instvars" : [ - ], - "name" : "MCFileTreeIssue72TestClass", - "pools" : [ - ], "super" : "Object", - "type" : "normal" } + "category" : "Issue72-Glâsässe", + "classinstvars" : [ ], + "pools" : [ ], + "classvars" : [ ], + "instvars" : [ ], + "name" : "MCFileTreeIssue72TestClass", + "type" : "normal" +} \ No newline at end of file diff --git a/tests/testRepositories/issue72.2/Issue72.package/monticello.meta/version b/tests/testRepositories/issue72.2/Issue72.package/monticello.meta/version index e3e46eea..d86d0c5c 100644 --- a/tests/testRepositories/issue72.2/Issue72.package/monticello.meta/version +++ b/tests/testRepositories/issue72.2/Issue72.package/monticello.meta/version @@ -1,4 +1,5 @@ -(name 'Issue72-ThierryGoubier.4' message 'Introduce UTF8 characters into the monticello.meta/version file: Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia Russian: Я могу есть стекло, оно мне не вредит. Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי. Latin: Vitrum edere possum; mihi non nocet.' id '40c65d37-3f71-4215-9a47-ab4180b214ef' date '27 November 2016' time '6:59:39.896876 pm' author 'ThierryGoubier' ancestors ((name 'Issue72-ThierryGoubier.3' message 'Introduce UTF8 characters into the monticello.meta/version file: Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia Russian: Я могу есть стекло, оно мне не вредит. Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי. Latin: Vitrum edere possum; mihi non nocet. +(name 'Issue72-ThierryGoubier.5' message 'Introduce UTF8 characters into the monticello.meta/version file: Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia Russian: Я могу есть стекло, оно мне не вредит. Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי. Latin: Vitrum edere possum; mihi non nocet.' id 'b53312c5-8c23-0d00-a47a-985b09341a0c' date '12 March 2018' time '12:03:25.936944 am' author 'ThierryGoubier' ancestors ((name 'Issue72-ThierryGoubier.4' message 'Introduce UTF8 characters into the monticello.meta/version file: Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia Russian: Я могу есть стекло, оно мне не вредит. Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי. Latin: Vitrum edere possum; mihi non nocet. +' id 'b196fc2f-2571-5b3d-bcd9-209a82f251af' date '27 November 2016' time '6:59:40 pm' author 'ThierryGoubier' ancestors ((name 'Issue72-ThierryGoubier.3' message 'Introduce UTF8 characters into the monticello.meta/version file: Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia Russian: Я могу есть стекло, оно мне не вредит. Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי. Latin: Vitrum edere possum; mihi non nocet. ' id '48b34365-bed0-554f-823e-1a8d75492749' date '18 August 2015' time '8:12:32 am' author 'ThierryGoubier' ancestors ((name 'Issue72-ThierryGoubier.2' message 'Introduce UTF8 characters into the monticello.meta/version file: Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia Russian: Я могу есть стекло, оно мне не вредит. Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי. Latin: Vitrum edere possum; mihi non nocet. ' id 'fa4787f7-32c3-5fe6-91ec-9060361b6327' date '12 September 2013' time '5:20:19 pm' author 'ThierryGoubier' ancestors ((name 'Issue72-ThierryGoubier.1' message 'merging gitfiletree from 2.0 to 3.0: step2: test repositories. -' id '6438f215-d6ed-5fa1-8b2e-314862840def' date '12 September 2013' time '5:10:44 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +' id '6438f215-d6ed-5fa1-8b2e-314862840def' date '12 September 2013' time '5:10:44 pm' author 'ThierryGoubier' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/tests/testRepositories/issue72.2/Issue72.package/properties.json b/tests/testRepositories/issue72.2/Issue72.package/properties.json index f037444a..6f31cf5a 100644 --- a/tests/testRepositories/issue72.2/Issue72.package/properties.json +++ b/tests/testRepositories/issue72.2/Issue72.package/properties.json @@ -1,2 +1 @@ -{ - } +{ } \ No newline at end of file