git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: How to ensure a word has been removed from repository?

From
Nicolas Pitre <nico@fluxnic.net>
Date
Nov 4, 2009, 02:49 UTC
Message-ID
<alpine.LFD.2.00.0911032138400.13333@xanadu.home>
In-Reply-To
<6fb3af8e0911031812j54a9b698xca9f5301ac07442a@mail.gmail.com>
On Tue, 3 Nov 2009, Patrick Higgins wrote:
Show 19 quoted lines
> Hi all,
> 
> I just completed a series of filter-branch commands to remove a couple
> of sensitive words from a repository before I publish it. The words
> were found in commit messages, directory names, file contents, and
> various other places (kind of weird, I know). I believe I have removed
> them all, but I would like to double check but don't know how.
> 
> Given that much of the repository is stored in compressed packs, I
> can't just use grep to look for the words. To get around this, I've
> unpacked the objects, use a Perl script (filtinf example script) to
> decompress them and then use grep (this has proven to be quite slow).
> 
> Is that going to find every possible occurrence if all the relevant
> files are plain text?
> 
> Is there an easier way to search the repository? The way I'm doing it
> has required some awfully deep knowledge to expire and prune
> everything. I feel like I must be missing something.

An easy way to look for the presence of a particular string in all the repository data is:

	git rev-list --all --objects | cut -c -40 | \
		git cat-file --batch | grep <string>
Alternatively you can use:
	git fast-export --all --signed-tag=verbatim | grep <string>
Nicolas
Previous: Patrick HigginsNext: Sitaram Chamarty
Message 2 of 3 in “How to ensure a word has been removed from repository?”
  1. Patrick HigginsNov 4, 2009
  2. Nicolas PitreNov 4, 2009
  3. Sitaram ChamartyNov 4, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.