Re: merging confusion and question

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

 



On Tue, Aug 7, 2012 at 9:43 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Rich Pixley <rich.pixley@xxxxxxxx> writes:
>
>> I'm confused.
>>
>> What is the intended work flow here?  Ie, aside from trashing my
>> repository and starting over, what does one do to recover?
>>
>> rich@cobra> git clone /home/rich/repos/webos webos
>> Cloning into 'webos'...
>> done.
>> rich@cobra> cd webos
>> rich@cobra> git remote add central git@xxxxxxxxxx:openwebos/webos.git
>> rich@cobra> git co master
>> Already on 'master'
>> rich@cobra> git pull central master
>> X11 forwarding request failed on channel 0
>> remote: Counting objects: 22, done.
>> remote: Compressing objects: 100% (19/19), done.
>> remote: Total 21 (delta 12), reused 11 (delta 2)
>> Unpacking objects: 100% (21/21), done.
>> From github.com:openwebos/webos
>>  * branch            master     -> FETCH_HEAD
>> warning: Failed to merge submodule meta-webos (not checked out)
>> Auto-merging meta-webos
>> CONFLICT (submodule): Merge conflict in meta-webos
>> Auto-merging README.md
>> Automatic merge failed; fix conflicts and then commit the result.
>> rich@cobra> git commit -a
>
> Why isn't there any "fix conflicts and then" step between this line
> and the friendly insn message on the previous line?

I think I know the answer.  I remember it from my newbie days.

The reason is that "fix conflicts" is confusing to new users. The new
user didn't really want to merge here, perhaps, which is why there
were so many conflicts.  Git "helpfully" points out each one of the
conflicts, but he doesn't explain what happened as a result (change
markers in the file, etc.).  For the newbie, this is not intuitive;
the barrage of conflict details is intimidating.

"Fix conflicts"?  If I do not know how the conflicts are represented
yet, I also do not know how to fix them.

"Commit the result"?  Result of what?  Commit how?

Adding insult to injury, newbies can find no obvious way to "undo and
try again."  Each command they think should move forward or "do over"
is met with "cannot do that. conflicts exist.  fix this mess and try
again."

Imagine your mom on the web for the first time encountering a "404".
Now imagine that once this happens her browser refuses to work
insisting she "fix the web" first.

I do not know a better description which would not rub the gurus the
wrong way.  When I try to think of one, the hint always involves
something called "git undo".  So I guess the status quo is good for
now, which is "google git merge conflict"

I agree that 'git reset --hard' should be mentioned in the hint for
newbies, but this conflicts with my desire to avoid giving chainsaws
to toddlers.

Phil
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]