I.e., I have:
root -- c1 -- c2 -- .. - c1000 -- c1001 -- c1002 -- .. -- c2000 -- top
and I want to have:
root = c1000 -- c1
Easiest way is with a git graft. If you edit the file .git/info/grafts, you can put lines in the file of the format
[ref] [parent1] [parent2] ...
Any commits referenced on the left side are then treated as if the parents listed on the right are the parents of that commit. So you can insert a line like
c1000
and it will be treated as though it has no parents. This can then be "baked in stone" by running git-filter-branch.