Bug in filter-branch example for moving into a subdirectory

From: Jesse Keating <hidden>
Date: 2016-06-15 22:52:36

I ran into a bug with the example in the man page for filter-branch, for moving everything into a subdir:

           git filter-branch --index-filter \
                   'git ls-files -s | sed "s-\t\"*-&newsubdir/-" |
                           GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
                                   git update-index --index-info &&
                    mv "$GIT_INDEX_FILE.new" "$GIT_INDEX_FILE"' HEAD

The problem seems to be when a commit happens that is just a file removal with no added file.  In those cases, git ls-files doesn't output anything.  Trying to throw a -d option in doesn't seem to improve matters.

So the problem is that if a commit is just file removals, this example will actually crash.  Unfortunately I don't have a suggested solution at the moment.

--
Jesse Keating
Fedora -- Freedom² is a feature!
identi.ca: http://identi.ca/jkeating
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help