How do you normally merge Git branches with Metadata-less GitFileTree?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

How do you normally merge Git branches with Metadata-less GitFileTree?

Mariano Martinez Peck
Hi guys,

First, let me say that I found very cool that I can do a "git checkout X" from command line, and from Pharo, opening the MC browser detects I am in another branch and everything seems to work. So I guess that's the way I manage branches? Simply "git checkout X" and then go to MC , and do a "load" of the last version of the repo?  (or another image, whatever). 

The problem is now with merging. Not necessary about the metadata ( I guess we have less metadata conflicts with Metadata-less GitFileTree right???) , but real code changes conflicts between branches. How do you manage this? You manage everything at Git level using git and text editors?  

I cannot think how to do that from MC browser "Merge" because MC sees only one repo associated to one current branch. 

Any pointer is appreciated. 
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Thierry Goubier
Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
> Hi guys,
>
> First, let me say that I found very cool that I can do a "git checkout
> X" from command line, and from Pharo, opening the MC browser detects I
> am in another branch and everything seems to work. So I guess that's the
> way I manage branches? Simply "git checkout X" and then go to MC , and
> do a "load" of the last version of the repo?  (or another image, whatever).

Yes, exactly.

> The problem is now with merging. Not necessary about the metadata ( I
> guess we have less metadata conflicts with Metadata-less GitFileTree
> right???) , but real code changes conflicts between branches. How do you
> manage this? You manage everything at Git level using git and text editors?

yes, or with git gui tools, or with the github interface (if there is no
conflict). The only thing a bit problematic are the eventual conflicts,
but, in that metadata-less format, they are less frequent and easier to
solve.

> I cannot think how to do that from MC browser "Merge" because MC sees
> only one repo associated to one current branch.

It is possible to do the merge in MC (think of merging your current
working copy and the top of the branch) but they won't be recorded in
the git log as a merge.

Thierry

> Any pointer is appreciated.
>
>
> --
> Mariano
> http://marianopeck.wordpress.com


Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Mariano Martinez Peck


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
Hi guys,

First, let me say that I found very cool that I can do a "git checkout
X" from command line, and from Pharo, opening the MC browser detects I
am in another branch and everything seems to work. So I guess that's the
way I manage branches? Simply "git checkout X" and then go to MC , and
do a "load" of the last version of the repo?  (or another image, whatever).

Yes, exactly.

OK.
 


The problem is now with merging. Not necessary about the metadata ( I
guess we have less metadata conflicts with Metadata-less GitFileTree
right???) , but real code changes conflicts between branches. How do you
manage this? You manage everything at Git level using git and text editors?

yes, or with git gui tools, or with the github interface (if there is no conflict). The only thing a bit problematic are the eventual conflicts, but, in that metadata-less format, they are less frequent and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I still benefit from https://github.com/ThierryGoubier/GitFileTree-MergeDriver 
to minimize conflicts? 
Or that was when you were having filetree with metadata?
 
I cannot think how to do that from MC browser "Merge" because MC sees
only one repo associated to one current branch.

It is possible to do the merge in MC (think of merging your current working copy and the top of the branch) but they won't be recorded in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.


 
Thierry


Any pointer is appreciated.


--
Mariano
http://marianopeck.wordpress.com





--
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Thierry Goubier
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :

>
>
> On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
>
>         Hi guys,
>
>         First, let me say that I found very cool that I can do a "git
>         checkout
>         X" from command line, and from Pharo, opening the MC browser
>         detects I
>         am in another branch and everything seems to work. So I guess
>         that's the
>         way I manage branches? Simply "git checkout X" and then go to MC
>         , and
>         do a "load" of the last version of the repo?  (or another image,
>         whatever).
>
>
>     Yes, exactly.
>
>
> OK.
>
>
>
>         The problem is now with merging. Not necessary about the
>         metadata ( I
>         guess we have less metadata conflicts with Metadata-less GitFileTree
>         right???) , but real code changes conflicts between branches.
>         How do you
>         manage this? You manage everything at Git level using git and
>         text editors?
>
>
>     yes, or with git gui tools, or with the github interface (if there
>     is no conflict). The only thing a bit problematic are the eventual
>     conflicts, but, in that metadata-less format, they are less frequent
>     and easier to solve.
>
>
> OK... but let me confirm... with metadata-less gitfiletree, would I
> still benefit from
> https://github.com/ThierryGoubier/GitFileTree-MergeDriver
> to minimize conflicts?
> Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both
branches)

Items one and two do not exist anymore in metadata-less format. Third
one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

>         I cannot think how to do that from MC browser "Merge" because MC
>         sees
>         only one repo associated to one current branch.
>
>
>     It is possible to do the merge in MC (think of merging your current
>     working copy and the top of the branch) but they won't be recorded
>     in the git log as a merge.
>
>
> OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my
opinion to do the merge properly.

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Mariano Martinez Peck
OK, thanks Thierry.

BTW, thanks for all the help you have been giving me in the last weeks and for your great GitFileTree :)

On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
<[hidden email] <mailto:[hidden email]>> wrote:

    Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :

        Hi guys,

        First, let me say that I found very cool that I can do a "git
        checkout
        X" from command line, and from Pharo, opening the MC browser
        detects I
        am in another branch and everything seems to work. So I guess
        that's the
        way I manage branches? Simply "git checkout X" and then go to MC
        , and
        do a "load" of the last version of the repo?  (or another image,
        whatever).


    Yes, exactly.


OK.



        The problem is now with merging. Not necessary about the
        metadata ( I
        guess we have less metadata conflicts with Metadata-less GitFileTree
        right???) , but real code changes conflicts between branches.
        How do you
        manage this? You manage everything at Git level using git and
        text editors?


    yes, or with git gui tools, or with the github interface (if there
    is no conflict). The only thing a bit problematic are the eventual
    conflicts, but, in that metadata-less format, they are less frequent
    and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I
still benefit from
https://github.com/ThierryGoubier/GitFileTree-MergeDriver
to minimize conflicts?
Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both branches)

Items one and two do not exist anymore in metadata-less format. Third one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

        I cannot think how to do that from MC browser "Merge" because MC
        sees
        only one repo associated to one current branch.


    It is possible to do the merge in MC (think of merging your current
    working copy and the top of the branch) but they won't be recorded
    in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my opinion to do the merge properly.

Thierry




--
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Damien Pollet
Hm. I saved code in a clone of Mariano's project, and a bunch of metadata files were created. Did I miss a step on configuring the repo so it's metadataless ?

On 16 January 2016 at 15:18, Mariano Martinez Peck <[hidden email]> wrote:
OK, thanks Thierry.

BTW, thanks for all the help you have been giving me in the last weeks and for your great GitFileTree :)

On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
<[hidden email] <mailto:[hidden email]>> wrote:

    Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :

        Hi guys,

        First, let me say that I found very cool that I can do a "git
        checkout
        X" from command line, and from Pharo, opening the MC browser
        detects I
        am in another branch and everything seems to work. So I guess
        that's the
        way I manage branches? Simply "git checkout X" and then go to MC
        , and
        do a "load" of the last version of the repo?  (or another image,
        whatever).


    Yes, exactly.


OK.



        The problem is now with merging. Not necessary about the
        metadata ( I
        guess we have less metadata conflicts with Metadata-less GitFileTree
        right???) , but real code changes conflicts between branches.
        How do you
        manage this? You manage everything at Git level using git and
        text editors?


    yes, or with git gui tools, or with the github interface (if there
    is no conflict). The only thing a bit problematic are the eventual
    conflicts, but, in that metadata-less format, they are less frequent
    and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I
still benefit from
https://github.com/ThierryGoubier/GitFileTree-MergeDriver
to minimize conflicts?
Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both branches)

Items one and two do not exist anymore in metadata-less format. Third one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

        I cannot think how to do that from MC browser "Merge" because MC
        sees
        only one repo associated to one current branch.


    It is possible to do the merge in MC (think of merging your current
    working copy and the top of the branch) but they won't be recorded
    in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my opinion to do the merge properly.

Thierry




--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Mariano Martinez Peck
Damien, I think the "metadata-less" name is a bit wrong. I think you did it correct. 
The metadataless is that only SOME of the metadata is ignored, such as "version" and I don't remember what else. 
I am comparing the HEAD of your clone with mine and we seem to have the same .filetree and .json so I think we are fine.



On Wed, Jan 20, 2016 at 4:09 PM, Damien Pollet <[hidden email]> wrote:
Hm. I saved code in a clone of Mariano's project, and a bunch of metadata files were created. Did I miss a step on configuring the repo so it's metadataless ?

On 16 January 2016 at 15:18, Mariano Martinez Peck <[hidden email]> wrote:
OK, thanks Thierry.

BTW, thanks for all the help you have been giving me in the last weeks and for your great GitFileTree :)

On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
<[hidden email] <mailto:[hidden email]>> wrote:

    Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :

        Hi guys,

        First, let me say that I found very cool that I can do a "git
        checkout
        X" from command line, and from Pharo, opening the MC browser
        detects I
        am in another branch and everything seems to work. So I guess
        that's the
        way I manage branches? Simply "git checkout X" and then go to MC
        , and
        do a "load" of the last version of the repo?  (or another image,
        whatever).


    Yes, exactly.


OK.



        The problem is now with merging. Not necessary about the
        metadata ( I
        guess we have less metadata conflicts with Metadata-less GitFileTree
        right???) , but real code changes conflicts between branches.
        How do you
        manage this? You manage everything at Git level using git and
        text editors?


    yes, or with git gui tools, or with the github interface (if there
    is no conflict). The only thing a bit problematic are the eventual
    conflicts, but, in that metadata-less format, they are less frequent
    and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I
still benefit from
https://github.com/ThierryGoubier/GitFileTree-MergeDriver
to minimize conflicts?
Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both branches)

Items one and two do not exist anymore in metadata-less format. Third one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

        I cannot think how to do that from MC browser "Merge" because MC
        sees
        only one repo associated to one current branch.


    It is possible to do the merge in MC (think of merging your current
    working copy and the top of the branch) but they won't be recorded
    in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my opinion to do the merge properly.

Thierry




--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet



--
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Damien Pollet
So ? I put *.methodProperties in .gitignore ?
What about .gitattributes for the merge driver ?

On 20 January 2016 at 20:19, Mariano Martinez Peck <[hidden email]> wrote:
Damien, I think the "metadata-less" name is a bit wrong. I think you did it correct. 
The metadataless is that only SOME of the metadata is ignored, such as "version" and I don't remember what else. 
I am comparing the HEAD of your clone with mine and we seem to have the same .filetree and .json so I think we are fine.



On Wed, Jan 20, 2016 at 4:09 PM, Damien Pollet <[hidden email]> wrote:
Hm. I saved code in a clone of Mariano's project, and a bunch of metadata files were created. Did I miss a step on configuring the repo so it's metadataless ?

On 16 January 2016 at 15:18, Mariano Martinez Peck <[hidden email]> wrote:
OK, thanks Thierry.

BTW, thanks for all the help you have been giving me in the last weeks and for your great GitFileTree :)

On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
<[hidden email] <mailto:[hidden email]>> wrote:

    Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :

        Hi guys,

        First, let me say that I found very cool that I can do a "git
        checkout
        X" from command line, and from Pharo, opening the MC browser
        detects I
        am in another branch and everything seems to work. So I guess
        that's the
        way I manage branches? Simply "git checkout X" and then go to MC
        , and
        do a "load" of the last version of the repo?  (or another image,
        whatever).


    Yes, exactly.


OK.



        The problem is now with merging. Not necessary about the
        metadata ( I
        guess we have less metadata conflicts with Metadata-less GitFileTree
        right???) , but real code changes conflicts between branches.
        How do you
        manage this? You manage everything at Git level using git and
        text editors?


    yes, or with git gui tools, or with the github interface (if there
    is no conflict). The only thing a bit problematic are the eventual
    conflicts, but, in that metadata-less format, they are less frequent
    and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I
still benefit from
https://github.com/ThierryGoubier/GitFileTree-MergeDriver
to minimize conflicts?
Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both branches)

Items one and two do not exist anymore in metadata-less format. Third one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

        I cannot think how to do that from MC browser "Merge" because MC
        sees
        only one repo associated to one current branch.


    It is possible to do the merge in MC (think of merging your current
    working copy and the top of the branch) but they won't be recorded
    in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my opinion to do the merge properly.

Thierry




--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet



--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Mariano Martinez Peck
No, something wrong is happening. GitFileTree should have NOT generated neither "version" nor "methodProperties" files. 
:(

On Wed, Jan 20, 2016 at 4:37 PM, Damien Pollet <[hidden email]> wrote:
So ? I put *.methodProperties in .gitignore ?
What about .gitattributes for the merge driver ?

On 20 January 2016 at 20:19, Mariano Martinez Peck <[hidden email]> wrote:
Damien, I think the "metadata-less" name is a bit wrong. I think you did it correct. 
The metadataless is that only SOME of the metadata is ignored, such as "version" and I don't remember what else. 
I am comparing the HEAD of your clone with mine and we seem to have the same .filetree and .json so I think we are fine.



On Wed, Jan 20, 2016 at 4:09 PM, Damien Pollet <[hidden email]> wrote:
Hm. I saved code in a clone of Mariano's project, and a bunch of metadata files were created. Did I miss a step on configuring the repo so it's metadataless ?

On 16 January 2016 at 15:18, Mariano Martinez Peck <[hidden email]> wrote:
OK, thanks Thierry.

BTW, thanks for all the help you have been giving me in the last weeks and for your great GitFileTree :)

On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
<[hidden email] <mailto:[hidden email]>> wrote:

    Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :

        Hi guys,

        First, let me say that I found very cool that I can do a "git
        checkout
        X" from command line, and from Pharo, opening the MC browser
        detects I
        am in another branch and everything seems to work. So I guess
        that's the
        way I manage branches? Simply "git checkout X" and then go to MC
        , and
        do a "load" of the last version of the repo?  (or another image,
        whatever).


    Yes, exactly.


OK.



        The problem is now with merging. Not necessary about the
        metadata ( I
        guess we have less metadata conflicts with Metadata-less GitFileTree
        right???) , but real code changes conflicts between branches.
        How do you
        manage this? You manage everything at Git level using git and
        text editors?


    yes, or with git gui tools, or with the github interface (if there
    is no conflict). The only thing a bit problematic are the eventual
    conflicts, but, in that metadata-less format, they are less frequent
    and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I
still benefit from
https://github.com/ThierryGoubier/GitFileTree-MergeDriver
to minimize conflicts?
Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both branches)

Items one and two do not exist anymore in metadata-less format. Third one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

        I cannot think how to do that from MC browser "Merge" because MC
        sees
        only one repo associated to one current branch.


    It is possible to do the merge in MC (think of merging your current
    working copy and the top of the branch) but they won't be recorded
    in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my opinion to do the merge properly.

Thierry




--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet



--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet



--
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Damien Pollet
I rebuilt the image, then reloaded OSSubprocess from my own clone, on top of the one loaded by GitFileTree
no metadata reappeared (so far…)

On 20 January 2016 at 20:45, Mariano Martinez Peck <[hidden email]> wrote:
No, something wrong is happening. GitFileTree should have NOT generated neither "version" nor "methodProperties" files. 
:(

On Wed, Jan 20, 2016 at 4:37 PM, Damien Pollet <[hidden email]> wrote:
So ? I put *.methodProperties in .gitignore ?
What about .gitattributes for the merge driver ?

On 20 January 2016 at 20:19, Mariano Martinez Peck <[hidden email]> wrote:
Damien, I think the "metadata-less" name is a bit wrong. I think you did it correct. 
The metadataless is that only SOME of the metadata is ignored, such as "version" and I don't remember what else. 
I am comparing the HEAD of your clone with mine and we seem to have the same .filetree and .json so I think we are fine.



On Wed, Jan 20, 2016 at 4:09 PM, Damien Pollet <[hidden email]> wrote:
Hm. I saved code in a clone of Mariano's project, and a bunch of metadata files were created. Did I miss a step on configuring the repo so it's metadataless ?

On 16 January 2016 at 15:18, Mariano Martinez Peck <[hidden email]> wrote:
OK, thanks Thierry.

BTW, thanks for all the help you have been giving me in the last weeks and for your great GitFileTree :)

On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier <[hidden email]> wrote:
Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :


On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
<[hidden email] <mailto:[hidden email]>> wrote:

    Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :

        Hi guys,

        First, let me say that I found very cool that I can do a "git
        checkout
        X" from command line, and from Pharo, opening the MC browser
        detects I
        am in another branch and everything seems to work. So I guess
        that's the
        way I manage branches? Simply "git checkout X" and then go to MC
        , and
        do a "load" of the last version of the repo?  (or another image,
        whatever).


    Yes, exactly.


OK.



        The problem is now with merging. Not necessary about the
        metadata ( I
        guess we have less metadata conflicts with Metadata-less GitFileTree
        right???) , but real code changes conflicts between branches.
        How do you
        manage this? You manage everything at Git level using git and
        text editors?


    yes, or with git gui tools, or with the github interface (if there
    is no conflict). The only thing a bit problematic are the eventual
    conflicts, but, in that metadata-less format, they are less frequent
    and easier to solve.


OK... but let me confirm... with metadata-less gitfiletree, would I
still benefit from
https://github.com/ThierryGoubier/GitFileTree-MergeDriver
to minimize conflicts?
Or that was when you were having filetree with metadata?

The merge driver does three things:
- merge metadata version files
- merge method properties json files
- merge class definition json files (merge instances variables from both branches)

Items one and two do not exist anymore in metadata-less format. Third one is not allways seen as a good thing.

So the merge driver is rarely usefull in metadata-less mode.

        I cannot think how to do that from MC browser "Merge" because MC
        sees
        only one repo associated to one current branch.


    It is possible to do the merge in MC (think of merging your current
    working copy and the top of the branch) but they won't be recorded
    in the git log as a merge.


OK. I prefer git to see it as a merge. But thanks anyway.

I understand and do the same. Moreover, git is better than MC in my opinion to do the merge properly.

Thierry




--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet



--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet



--



--
Damien Pollet
type less, do more [ | ] http://people.untyped.org/damien.pollet
Reply | Threaded
Open this post in threaded view
|

Re: How do you normally merge Git branches with Metadata-less GitFileTree?

Thierry Goubier
In reply to this post by Damien Pollet
Hi Damien,

Le 20/01/2016 20:09, Damien Pollet a écrit :
> Hm. I saved code in a clone of Mariano's project, and a bunch of
> metadata files were created. Did I miss a step on configuring the repo
> so it's metadataless ?

If you save with a version of GitFileTree which hasn't the metadata-less
format, then metadata files will reappear. Which version of
MonticelloFileTree-Git do you have in your image?

Thierry

> On 16 January 2016 at 15:18, Mariano Martinez Peck
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     OK, thanks Thierry.
>
>     BTW, thanks for all the help you have been giving me in the last
>     weeks and for your great GitFileTree :)
>
>     On Sat, Jan 16, 2016 at 11:14 AM, Thierry Goubier
>     <[hidden email] <mailto:[hidden email]>> wrote:
>
>         Le 16/01/2016 15:06, Mariano Martinez Peck a écrit :
>
>
>
>             On Sat, Jan 16, 2016 at 5:15 AM, Thierry Goubier
>             <[hidden email]
>             <mailto:[hidden email]>
>             <mailto:[hidden email]
>             <mailto:[hidden email]>>> wrote:
>
>                  Le 16/01/2016 03:23, Mariano Martinez Peck a écrit :
>
>                      Hi guys,
>
>                      First, let me say that I found very cool that I can
>             do a "git
>                      checkout
>                      X" from command line, and from Pharo, opening the
>             MC browser
>                      detects I
>                      am in another branch and everything seems to work.
>             So I guess
>                      that's the
>                      way I manage branches? Simply "git checkout X" and
>             then go to MC
>                      , and
>                      do a "load" of the last version of the repo?  (or
>             another image,
>                      whatever).
>
>
>                  Yes, exactly.
>
>
>             OK.
>
>
>
>                      The problem is now with merging. Not necessary
>             about the
>                      metadata ( I
>                      guess we have less metadata conflicts with
>             Metadata-less GitFileTree
>                      right???) , but real code changes conflicts between
>             branches.
>                      How do you
>                      manage this? You manage everything at Git level
>             using git and
>                      text editors?
>
>
>                  yes, or with git gui tools, or with the github
>             interface (if there
>                  is no conflict). The only thing a bit problematic are
>             the eventual
>                  conflicts, but, in that metadata-less format, they are
>             less frequent
>                  and easier to solve.
>
>
>             OK... but let me confirm... with metadata-less gitfiletree,
>             would I
>             still benefit from
>             https://github.com/ThierryGoubier/GitFileTree-MergeDriver
>             to minimize conflicts?
>             Or that was when you were having filetree with metadata?
>
>
>         The merge driver does three things:
>         - merge metadata version files
>         - merge method properties json files
>         - merge class definition json files (merge instances variables
>         from both branches)
>
>         Items one and two do not exist anymore in metadata-less format.
>         Third one is not allways seen as a good thing.
>
>         So the merge driver is rarely usefull in metadata-less mode.
>
>                      I cannot think how to do that from MC browser
>             "Merge" because MC
>                      sees
>                      only one repo associated to one current branch.
>
>
>                  It is possible to do the merge in MC (think of merging
>             your current
>                  working copy and the top of the branch) but they won't
>             be recorded
>                  in the git log as a merge.
>
>
>             OK. I prefer git to see it as a merge. But thanks anyway.
>
>
>         I understand and do the same. Moreover, git is better than MC in
>         my opinion to do the merge properly.
>
>         Thierry
>
>
>
>
>     --
>     Mariano
>     http://marianopeck.wordpress.com
>
>
>
>
> --
> Damien Pollet
> type less, do more [ | ] http://people.untyped.org/damien.pollet