[Glass] Git Bitbucket problematic
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Sat Dec 20 07:26:11 PST 2014
On 12/20/14 3:48 AM, Dario Trussardi via Glass wrote:
> 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?
> 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
> 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
> 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
5. in gemstone:
repository: 'filetree description';
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 ...
More information about the Glass