Re: Question about git

On Thu, May 7, 2009 at 2:23 AM, Behdad Esfahbod <behdad behdad org> wrote:
> On 05/06/2009 07:00 AM, Simos Xenitellis wrote:
>> On Tue, May 5, 2009 at 4:41 PM, Behdad Esfahbod<behdad behdad org>  wrote:
>>> On 05/05/2009 01:28 AM, Shaun McCance wrote:
>>>>> This assumes that the branch is merged into master otherwise.  I
>>>>> strongly
>>>>> suggest cherry-pick instead of merge.
>>>> Isn't that going to cause merge conflicts for me the
>>>> maintainer when I try to merge from my stable branches
>>>> to master?  I can pretty much guarantee I will always
>>>> do that.  If I have to deal with merge conflicts from
>>>> one of 100 translations each time, I'm not going to
>>>> be happy.
>>> I *think* if the same commit exists in the destination, it doesn't cause
>>> a
>>> merge conflict.  But I didn't test it to make sure right now.
>> I have tried a few scenarios with 'git merge' and I managed to get a
>> situation that merge could not take place.
>> After that, it was not possible to commit and the message was too
>> cryptic to figure out what to do.
>> In terms of usability for this process, it was good (I was blocked
>> from messing up further),
>> so I resorted to the HowTo item from named 'Ok, I
>> messed up, what do I do' in order to reset my clone.
>> As a workflow, I find that the following is easy to follow
>> 1. First commit to your branch (such as gnome-2-26) as normal.
>> 2. Then, checkout 'master' and 'git merge gnome-2-26'
>> 3. Observe that no errors appear and that only your changes are merged.
>> 4. Do a 'git push' to push your work to
> What if the branch was not merged, perhaps intentionally?  Now the
> translator will be pushing code changes.

I'd like to stress Behdad's point here: merging stable into master is
not something a translator should even consider to do, it is a
maintainer's job, and most of all it is potentially harmful.
While it could be a common practice that changes to the stable branch
are merged back into the development one there is absolutely no
warranty about it.
Stable and master are two separate lines of development, there could
be large portions of code that have been removed, whole files deleted.
Just try git merge gnome-2-26 with epiphany for example you will see
tons of code changes getting merged with your translation some file
that was removed is restored etc. Fortunately this merge fails but it
could success if there are less deep changes between the two branches.
So *please* remove that merge reference from the translator's howto.
git cherry-pick is the way to go.
git commit returns the hash of the commit if it succeeds so I don't
think it is so difficult to copy and paste it into the cherry-pick
command line.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]