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

Re: [PATCH v2] filter-branch -d: Export GIT_DIR earlier

From
Lars Noschinski <lars@public.noschinski.de>
Date
Feb 17, 2009, 17:59 UTC
Message-ID
<20090217175959.GA3564@lars.home.noschinski.de>
In-Reply-To
<alpine.DEB.1.00.0902171327270.6185@intel-tinevez-2-302>
* Johannes Schindelin <Johannes.Schindelin@gmx.de> [09-02-17 16:08]:
Show 20 quoted lines
>On Tue, 17 Feb 2009, Lars Noschinski wrote:
>> The improved error handling catches a bug in filter-branch when using
>> -d pointing to a path outside any git repository:
>> 
>> $ mkdir foo
>> $ cd foo
>> $ git init
>> $ touch bar
>> $ git add bar
>> $ git commit -m bar
>> $ cd ..
>> $ git clone --bare foo
>> $ cd foo.git
>> $ git filter-branch -d /tmp/filter master
>> fatal: Not a git repository (or any of the parent directories): .git
>
>This could be written as
>
>	$ cd .git
>	$ git filter-branch -d /tmp/bla master
Does not work, as we get another (slightly misleading) error message:

/tmp/foo/.git$ git filter-branch -d /tmp/bar master fatal: This operation must be run in a work tree Cannot rewrite branch(es) with a dirty working directory.

But we do not need a bare repository at all to demonstrate this bug, so we can skip even the 'cd .git'.

Show 5 quoted lines
>Funny, git am -3 reports:
>
>	Did you hand edit your patch?
>	It does not apply to blobs recorded in its index.
>	Cannot fall back to three-way merge.

Hm, for some reason, format=flowed was enabled. I wonder, that it has not bitten me earlier.

Show 5 quoted lines
>We try to avoid cd'ing back, by using constructs like this:
>
>	(cd drepo &&
>	 ...
>	) &&
Ok, can do.
Show 7 quoted lines
>After those two (maybe three) changes and your SOB: ACK.
>
>BTW the reason I wanted to test this thing is that I suspected that you 
>meant test_commit instead of make_commit.  But then, I realized that there 
>exists a make_commit in t7003... which shares the shortcoming of our 
>previous implementation of test_commit in that it adds ambiguities on 
>case-insensitive filesystems.

Yeah, I used make_commit to stay consistent with the rest of the file. I'll change it to test_commit. I think as it does not bite us, it would be unnecessary code churn to remove the remaining usage of make_commit?

Show 5 quoted lines
>So I _had_ to look who introduced make_commit:
>
>	$ git blame -L '/make_commit/,/}/' t/t7003*
>
>Making a fool out of yourself -- priceless.
:)
  - Lars.
Previous: Johannes SchindelinNext: Lars Noschinski
Message 4 of 10 in “filter-branch -d: Export GIT_DIR earlier”
  1. filter-branch -d: Export GIT_DIR earlierLars Noschinski, Feb 17, 2009
  2. Lars NoschinskiFeb 17, 2009
  3. Johannes SchindelinFeb 17, 2009
  4. Lars NoschinskiFeb 17, 2009
  5. Lars NoschinskiFeb 17, 2009
  6. Johannes SchindelinFeb 17, 2009
  7. Lars NoschinskiFeb 18, 2009
  8. Johannes SchindelinFeb 18, 2009
  9. Junio C HamanoFeb 19, 2009
  10. Johannes SchindelinFeb 17, 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.