Re: Git clone error
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:25
Hi, On Wed, 1 Aug 2007, Denis Bueno wrote:
On 08/01/2007 11:17, "Johannes Schindelin" [off-list ref] wrote:quoted
But this is what I would do if I had the problem: I would try to create a state which is as close to the corrupt revision as possible, use a graft to replace the initial commit with that revision, and rewrite the branch. I'd probably start by doing something like this: $ git symbolic-ref HEAD refs/heads/recreate-first && rm .git/index $ git ls-tree -r --name-only <initial-commit> | grep -v "^condor/condor-uninstall.sh$" | xargs git checkout <initial-commit> $ git checkout <second-commit> condor/condor-uninstall.sh [possibly some minor hacking on the latter file to make it work] $ git commit -c <initial-commit>Wow. `commit' and `checkout' are the only two commands that I have ever heard of in that sequence. How difficult would it be to create a new git repo which is exactly the same minus the initial condor-uninstall.sh commit? That is, just to pretend the initial import of condor-uninstall.sh never existed, and use the second commit of the old repo the first commit of the new, and preserve the rest of the history of the entire repo?
That would be even easier. Just graft "nothingness" as parent of the second commit: $ git rev-parse <second-commit> >> .git/info/grafts But of course, you should use filter-branch nevertheless, since you would have to do the same hack in _every_ repository. Ciao, Dscho