From: Jonathan Nieder <jrnieder@gmail.com>
To: Arnaud Bertrand <xda@abalgo.com>
Cc: "brian m. carlson" <sandals@crustytoothpaste.net>, git@vger.kernel.org
Subject: Re: Possible improvement in DB structure
Date: Mon, 23 Dec 2019 13:41:25 -0800 [thread overview]
Message-ID: <20191223214125.GA38316@google.com> (raw)
In-Reply-To: <CAEW0o+jRW8LJqfjsDVtUiSNxwM9yBkj0c=Ddy3kEGUdsYM8myQ@mail.gmail.com>
Hi Arnaud,
Arnaud Bertrand wrote:
> Today, I think that tags are not located in objects directory but in
> refs/tags which is a good idea.;-)
Not precisely. See "git help repository-layout" for more details, or
https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#hacking-git
or the "git internals" chapter of https://git-scm.com/book/.
> The origin of my reflection was that I wanted to find an old file.
>
> I knew that in the past of my project, we had started to write a
> driver for a device and it was abandoned. I wanted to find this file.
> I knew a "key line" to search for and I knew the file was a .c file
> but I didn't know the exact name.
Thanks for this context! It's very helpful.
> So, the goal was to parse all the database, find all the different .c
> files and grep it to find the the driver.
Git intends to make this kind of history mining not too difficult.
You can run a command like
git log --all -S'the key line' -- '*.c'
and it should do the right thing. Or you can do something more
complex using something like "git rev-list --all | git diff-tree
--stdin --name-only --diff-filter=D" (to show deleted files).
Is the problem that that command is too slow?
Hope that helps,
Jonathan
prev parent reply other threads:[~2019-12-23 21:41 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-23 13:00 Possible improvement in DB structure Arnaud Bertrand
2019-12-23 19:09 ` brian m. carlson
2019-12-23 20:46 ` Arnaud Bertrand
2019-12-23 21:41 ` Jonathan Nieder [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=20191223214125.GA38316@google.com \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=sandals@crustytoothpaste.net \
--cc=xda@abalgo.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 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.