Re: git , submodules and remove from historic question
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jan 15, 2020, 05:14 UTC
- Message-ID
- <20200115051429.GB218782@google.com>
- In-Reply-To
- <HE1PR0202MB263439EFAE785201C61495ABE6350@HE1PR0202MB2634.eurprd02.prod.outlook.com>
Hi!
FIGADERE, LAURENT wrote:
Show 9 quoted lines
> I am using git submodule features. > > So, by example, I have a repository top which include a sub > repository sub-repo. > > I would like to re-write the whole historic on the top repository > without the sub-repo. > > I tried to use git-filter command but I have an issue on sub-repo.
Thanks for reporting. This looks like a real bug.
(Nowadays we encourage using https://github.com/newren/git-filter-repo instead of filter-branch, but I'm interested because of the underlying issues this report might be revealing.)
By the way, what version of Git are you using (you can find out by running "git version --build-options")? Do you have the submodule.recurse setting enabled?
Show 6 quoted lines
> Here the commands and outputs: > [10:27:42] $ git submodule > d3fc420ee38babe74d6e3838b5b2a946ee551fa7 sub-repo (v1.0) > > [9:55:48] $ git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch sub-repo' --prune-empty --tag-name-filter cat -- --all > Rewrite 471a2c664466a364bfe5fdf774c7c0d7efe50396 (32/54) (3 seconds passed, remaining 2 predicted) fatal: exec '--super-prefix= sub-repo/': cd to sub-repo' failed: No such file or directory
Hm, I'm not able to reproduce this. I tried using
git clone --recurse-submodules https://gerrit.googlesource.com/gerrit
cd gerrit
git filter-branch --index-filter \
'git rm -rf --cached --ignore-unmatch plugins/hooks' \
--prune-empty --tag-name-filter cat -- --allWhat is the output with the GIT_TRACE=1 environment variable set?
Thanks and hope that helps, Jonathan