All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bo Yang <techrazy.yang@gmail.com>
To: git@vger.kernel.org
Subject: Make git-merge and helpers Builtins
Date: Thu, 20 Mar 2008 20:31:33 +0800	[thread overview]
Message-ID: <47E25925.4050703@gmail.com> (raw)

Hi,
   I have used Git for one year, and I join into this list for 3 or 4 
monthes. Sometime, I post some questions here and followed some 
disscusions. I have noticed that, there is a potential project in this 
GSoC "make git-merge and helplers builtins". I think I am one of the 
suitable students for this project because I am familiar with shell 
script programming and c language. And I post this message here to hope 
I can discuss more with the community about this project. 
    I have git clone the Git's source code for some days. And with some 
insight into the code, I found that some of the merge related code is 
located in sh script:  git-merge-octopus.sh  git-merge-one-file.sh 
git-merge-resovle.sh git-merge.sh git-mergetool.sh . And others are 
located in c source code: builtin-merge-base.c builtin-merge-file.c 
builtin-merge-ours.c builtin-merge-recrusive.c and merge-file.c 
merge-tree.c merge-index.c merge-recursive.h for two simple declarations.
   And git-mergetool.sh is itself an interactive shell process, I think 
there is no need to deal with it. So, the main work for this project is 
to change the other four scripts into c format. For deatails, instead of 
call the git merge-base in the shell, we make the final corresponding c 
code to call the functions in the builtin-merge-base.c. Could you please 
tell more about the work if I miss something?
  
   Finally, I have some questions about the merge code. I found there 
are many merge related code and I can't understand them at a short time. 
So, pleaes help me if you can.

   1. git-merge-file is used to merge one file, but what are 
merge-octopus and merge-resovle?
   2. I see in builtin-merge-file.c and merge-file.c, there are both 
functions used to merge file. And finally, they both call the xdl_merge 
. Could you please tell me how differenct of these to methods? I ask 
this question because I think there are some redundant code in the git 
source. Forgive me if I am wrong, I have no hostility but want to know 
why things are like that.

Thank you!

Regards!
Bo

             reply	other threads:[~2008-03-20 12:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-20 12:31 Bo Yang [this message]
2008-03-20 14:02 ` Make git-merge and helpers Builtins Daniel Barkalow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47E25925.4050703@gmail.com \
    --to=techrazy.yang@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.