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

Re: git filter-branch --subdirectory-filter error

From
JWJan Wielemaker <wielemak@science.uva.nl>
Date
Oct 22, 2007, 11:37 UTC
Message-ID
<200710221337.50730.wielemak@science.uva.nl>
In-Reply-To
<Pine.LNX.4.64.0710221218150.25221@racer.site>
Dscho,
On Monday 22 October 2007 13:20, Johannes Schindelin wrote:
Show 24 quoted lines
> Hi,
>
> On Mon, 22 Oct 2007, Jan Wielemaker wrote:
> > Finished a big re-shuffle of a big project, while other developers
> > continued. Worked really well. Thanks guys! But now I have two top
> > directories and I want to create two new repositories, each containing
> > one of these directories (because the one holds copyrighted data and we
> > want the other to become public software). So, I happily run
> >
> > 	$ git filter-branch --subdirectory-filter RDF HEAD
> >
> > Where RDF is an existing directory.  I get:
> >
> > Rewrite 95807fe01c39d3092e3ac3a98061711323154d77 (1/12)fatal: Not a valid
> > object name 95807fe01c39d3092e3ac3a98061711323154d77:RDF
> > Could not initialize the index
>
> I guess that 95807fe01 is the parent of a commit adding the RDF/
> directory.
>
> The subdirectory filter does not look kindly upon a history where some
> commits lack the subdirectory in question.  However, this should work:
>
> 	git filter-branch --subdirectory--filter RDF 95807fe01..HEAD
Thanks, but ... hmmm.

$ git filter-branch --subdirectory-filter RDF 95807fe01c39d3092e3ac3a98061711323154d77..HEAD Rewrite 0a43c802dd60f53d48136a32526a4b2a5f0d43e5 (1/11)fatal: Not a valid object name 0a43c802dd60f53d48136a32526a4b2a5f0d43e5:RDF Could not initialize the index

$ git show 0a43c802dd60f53d48136a32526a4b2a5f0d43e5
commit 0a43c802dd60f53d48136a32526a4b2a5f0d43e5
Merge: 49fa961... 95807fe...
Author: XXX
Date:   Thu Oct 18 17:45:26 2007 +0200
    Merge branch 'master' of 
hildebra@gollem.science.uva.nl:/home/eculture/eculture

Tried 0a43c802dd60f53d48136a32526a4b2a5f0d43e5..HEAD, just to get another one :-( I guess this will go on a little while :-( Before I start writing a script that performs this procedure findind a place where it does work I'd like to share some history with you.

This started as a big project with a lot of history in CVS, including moved (read deleted and re-created) files. This was moved to SVN and from there immediately to GIT. In GIT lots of things have been renamed. The RDF directory was created quite recent in the project and things from various subdirectories were moved there.

Is there something that might be worth a try or should we go the simple way: keeping the old combined repo for later reference and create two new ones from fresh files?

	Cheers --- Jan
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 3 of 4 in “git filter-branch --subdirectory-filter error”
  1. Jan WielemakerOct 22, 2007
  2. Johannes SchindelinOct 22, 2007
  3. Jan WielemakerOct 22, 2007
  4. Johannes SchindelinOct 22, 2007

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.