Re: [RFC] TODO in read-cache.c
- Date: Mon, 8 Apr 2019 19:04:16 -0700
- From: Taylor Blau <me@xxxxxxxxxxxx>
- Subject: Re: [RFC] TODO in read-cache.c
Welcome to Git! I am thrilled to see new faces on the mailing list.
On Sat, Apr 06, 2019 at 05:43:56PM +0530, Kapil Jain wrote:
> On Sat, Apr 6, 2019 at 5:33 PM Duy Nguyen <pclouds@xxxxxxxxx> wrote:
> > trace2 API can already take 'struct repository' (the_repository is a
> > pointer to 'struct repository'). I'm pretty sure the purpose is to
> > _not_ pass the_repository (because it implies the default repo, which
> > is not always true). Which means you read-cache.c's functions need to
> > take 'struct repository *' as an argument and let the caller decide
> > what repo they want to use.
> right, i mistyped.
> > In some cases, it will be simple. For example, if you have a look at
> > repo_read_index(), it already knows what repo it handles, so you can
> > just extend read_index_from() to take 'struct repository *' and pass
> > 'repo' to it.
> > Be careful though, repository and istate does not have one-to-one
> > relationship (I'll leave it to you to find out why). So you cannot
> > replace
> should i run all the tests after making the changes, or are there some
> specific ones.
It is a good rule of thumb to run 'make' in the testing directory (this
is 't') at least once before sending patches to the list.
Generally when I am writing something, I will often be fixing some bug
and either (1) have a test that I know I am trying to fix, or (2) write
a test that is initially broken, which I then aim to fix.
You can see a good example of this in the last series that I sent to the
list . In 2/7, I introduced several failing tests, and then fixed
them in the later commits in the series.
I also like to have a full suite of tests run on multiple platforms
before sending to the list. I have my fork  configured with TravisCI,
which runs builds on a number of different architectures/compilers for
Git already has a .travis.yml in the repository, so you don't have to do
any work other than authenticate with TravisCI.