[Glass] Git Bitbucket problematic

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Sat Dec 20 08:03:00 PST 2014


It occurs to me that if you are not correctly updating the git 
repository, then the proper information will not be transmitted to 
gemstone ...

When working in the git repository, you should use `git status` before 
and after each step, to verify that you have correctly accounted for the 
removed methods or classes ...

On 12/20/14 7:26 AM, Dale Henrichs wrote:
> On 12/20/14 3:48 AM, Dario Trussardi via Glass wrote:
>> Dale,
>>     i do some test for understund the continuos  development cycle 
>> from Pharo to Gemstone with git support.
>>     Question in my last email, i think is attributable at this 
>> problematic:
>>     if in Pharo i work on one class and remove or rename a method as 
>> this is management by git?
> Yes.
>>     When i load the change into gemstone ( and this is not my first 
>> porting ) how the system management the remove method,
>>         and the rename method?
> Loading from a git repository uses the same mechanisms as used when 
> loading from an mcz file: method removal and renames should be handled 
> correctly...
>>     If i right understand i need work directly in gemstone to remove 
>> the hold definitions.
> This should not  be necessary ... there must be something in your 
> workflow that is not quite correct ... or you are hitting an odd bug...
>>     My first think is to move ( into Pharo )  this method into a 
>> specific category ( deleted  renamed ) so as to have clear reference 
>> into gemstone.
>>     The same problematic is relative to the class definitions into 
>> package.
>>     If remove ( Or rename )  a class from a package, when i load it 
>> into gemstone, the hold class to be management manually.
> Again, this should not be necessary for class renames either ... For 
> class removal there are certain circumstances when GemStone will not 
> remove a class: when the class has subclasses; but the Monticello 
> loader usually get's it right ...
>>     And if move class into another package  what the system do?
> If a class is move to another package, then the class may be able to 
> survive, depending upon what the loaded package looks like
>>     Ciao,
>>         Dario
>> P.S.  i select object database with objective to management 
>> continuous development with linear and clear definitions.
>>     I need to work some in this area
> Again, I would like to have you described exactly what you do when you 
> find that a method removed in pharo is not removed when the package is 
> loaded in GemStone ... I assume that you have converted to using a 
> BaselineOf to manage your packages? Here's the workflow you should be 
> using:
> 1. remove method from class
> 2. save package to filetree/git repo
> 3. in shell sitting in git repo on pharo machine: `git add .; git 
> commit -m"..."; git push origin <branch name>`
> 4. in shell sitting in git repo on gemstone machine: `git pull origin 
> <branch name>`
> 5. in gemstone:
>   Metacello new
>     baseline: 'project-name';
>     repository: 'filetree description';
>     get;
>     load;
> 6. method should be remove from class in GemStone
> Now if this sequence does not work, then we'll need to get more 
> detailed and I will probably need a reproducible test case so I can 
> figure out what's going wrong ...
> Dale

More information about the Glass mailing list