> yeah… but is a lot of work and no time just right now.
> long term, it would be cool to manage everything from iceberg.
> but reality check, is a huge amount of work so it has to come step by step.

Fair enough - its pretty cool we’ve got this far, and I guess the onus is on 
the rest of us to learn more about how its done and see if we can contribute 
more somehow. I really appreciate the love you’ve already put into this - it 
works far better than I think we even realised it could.

Tim



> On 13 Jun 2018, at 21:55, Esteban Lorenzano <esteba...@gmail.com> wrote:
> 
> 
> 
>> On 13 Jun 2018, at 22:44, Tim Mackinnon <tim@testit.works> wrote:
>> 
>> Esteban - so I don't then understand why iceberg (usefully in my view) 
>> checks out more than the src directory, if it’s only focusing on the Pharo 
>> blob?
>> 
>> I’m guessing that by knowing where the src is, you are just committing that 
>> part of the tree with libgit?
>> 
>> Perhaps from a pragmatic first step you might consider letting us add a 
>> second safe resources directory that you could check in atomically as well 
>> (on the understanding all bets are off if it goes wrong?)
>> 
>> OR could we have a check in mode does all the add/remove operations and 
>> writes to disk but then let’s you drop to the command line/other tool to add 
>> any other files and do the final commit?
>> 
>> I just feel like you/we are so close to something that works a bit more 
>> broadly and embrace the wider world.?
> 
> yeah… but is a lot of work and no time just right now.
> long term, it would be cool to manage everything from iceberg.
> but reality check, is a huge amount of work so it has to come step by step.
> 
>> 
>> Tim
>> 
>> Sent from my iPhone
>> 
>>> On 13 Jun 2018, at 21:28, Esteban Lorenzano <esteba...@gmail.com> wrote:
>>> 
>>> hi,
>>> 
>>> 
>>>> On 13 Jun 2018, at 16:50, Tim Mackinnon <tim@testit.works> wrote:
>>>> 
>>>> Hi - my second attempt at using Pharo with Git has proven very satisfying 
>>>> (I saw the potential in phase 1, but it was often difficult to understand 
>>>> what was happening and the workflow to use).
>>>> 
>>>> One thing that has come up a few times for me however - and its something 
>>>> that using git nicely highlights, there are many non-smalltalk assets in 
>>>> my project that don’t need to live in the image (like Seaside 
>>>> FileLibraries were trying to do) but do need to be versioned and be part 
>>>> of my project. Common examples are server config files, images and even 
>>>> the playground history files that are useful to pull up when on another 
>>>> computer.
>>>> 
>>>> It seems that while Iceberg does check out a full project, if I change any 
>>>> of the files outside of the src directory (like edit a .txt file using the 
>>>> crude Pharo file editor), those changes don’t get committed when I do a 
>>>> checkin? Is this on purpose? It makes the workflow a bit trickier to do an 
>>>> atomic commit of a piece of work - and I’m not clear whether this is a 
>>>> conscious thing, or an MVP thing (and it will come later).
>>> 
>>> workflow is tricker because you are expecting iceberg to talk with the 
>>> local working copy and to handle that WC.
>>> what happens in fact is different: iceberg treats the image as a working 
>>> copy itself (it has its own “stage” area) and what you have in disk is like 
>>> a separated WC. 
>>> 
>>> at least, this is the metaphor we are using now, because we cannot 
>>> realistically handle/control what is in disk since it can be anything. 
>>> So, instead having this picture in mind: 
>>> 
>>> Image -> Disk -> Git blob (database)
>>> 
>>> you need to have this other: 
>>> 
>>> Image \
>>>      Git blob (database)
>>> Disk    /
>>> 
>>> 
>>> you will see as soon as you change the mental image, your problems are gone 
>>> ;)
>>> 
>>> cheers!
>>> Esteban
>>> 
>>> ps: diagram before is not exactly as it is since the image actually writes 
>>> into disk first, but this is an implementation detail we would like to 
>>> remove in the future, even.
>>> 
>>>> 
>>>> As mentioned above, I was also thinking it would be nice if I could 
>>>> checkin some of the play-xxxx/*.sh files to essentially keep some of that 
>>>> history synced between environments (or team members?).
>>>> 
>>>> It strikes me that this is the kind of thing that git integration should 
>>>> bring to us?
>>>> 
>>>> I can overlay my copy of IntelliJ on top of my local iceberg directory and 
>>>> then use it for checkins - but then I still have the atomic problem, as 
>>>> its only when I commit that tonel files are written out onto the file 
>>>> system for me to checkin along with any other assets I’ve changed. Does 
>>>> anyone else have a good workflow for this? What do you guys do?
>>>> 
>>>> Tim
>>> 
>>> 
>> 
>> 
> 
> 


Reply via email to