git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Neal Kreitzinger <nkreitzinger@gmail.com>
To: Shiraz Hashim <shiraz.hashim@st.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>,
	spear-devel <spear-devel@list.st.com>
Subject: Re: query: picking dependant commits from a latest tree
Date: Tue, 03 Apr 2012 11:55:27 -0500	[thread overview]
Message-ID: <4F7B2B7F.8050308@gmail.com> (raw)
In-Reply-To: <20120403040001.GQ1766@localhost.localdomain>

On 4/2/2012 11:00 PM, Shiraz Hashim wrote:
> On Sat, Mar 31, 2012 at 12:29:10AM +0800, Neal Kreitzinger wrote:
>> On 3/27/2012 4:55 AM, Shiraz Hashim wrote:
>>> If I try to pick commits from a latest tree for a particular feature
>>> then what is the best way to find out all dependant commits.
>>>
>>> So for example for the commit which I want to pick there are 10 other
>>> commits around that file but some affect other files which themselves
>>> have several commits which I must apply.
>>>
>>> Is their a way to do this efficiently ?
>>>
>> You're assuming all dependencies reside in the same commits or in common
>> files.  If the changes in a commit are dependent on the previous commit
>> and they do not share any of the same files then what you are proposing
>> is not going to catch that.
> You are right, but this would perhaps be caught during tests. But in
> the first place how can I find dependent commits to pass build test.
>
Theoretically, all the ancestors of a commit are dependencies.  When you 
cherry-pick you run the risk of not getting dependencies.  That will be 
up to you to figure out.  Different software has different dependency 
scenarios.  IMO, you will analyze what yours specifically are and then 
perhaps submit more specific examples to the newsgroup.  There are many 
possibilities.

Just one example is that you would have to write a script that scans 
your all programs in your commit for called programs and then 
interrogates history to see of any of the called programs were changed 
in other commits.  Of course you would have to repeat that and it could 
be quite extensive.  You would also have to git-grep repo history for 
all callers of programs changed in your commit.  Of course you would 
have to repeat that and it could be quite extensive.  Git is not going 
to do this for you.  You can use git to do powerful interrogations to 
aid you in this.  Even after all of that, someone has to review the 
results and make judgement calls on which dependencies matter and which 
ones don't.  This is where your own knowledge or that of senior 
(system-wise) people has to make judgement calls.  Human knowledge of 
your software is the best first approach at assessing commit 
dependencies, and then supplement it with git interrogations if you have 
any remaining questions or doubts.

v/r,
neal

      reply	other threads:[~2012-04-03 16:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-27  9:55 query: picking dependant commits from a latest tree Shiraz Hashim
2012-03-30 16:29 ` Neal Kreitzinger
2012-04-03  4:00   ` Shiraz Hashim
2012-04-03 16:55     ` Neal Kreitzinger [this message]

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=4F7B2B7F.8050308@gmail.com \
    --to=nkreitzinger@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=shiraz.hashim@st.com \
    --cc=spear-devel@list.st.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).