combo-layer: handle empty commits during "init --history"
PATCH 1/1 combo-layer: handle empty commits during "init --history"
When importing the components during the "combo-layer init" with full history and relocation into a destination directory, components with empty commits were not handled because the "mv" command was invoked with just one parameter.
Replacing that with a find/xargs pair avoids the problem and should also fix the handling of filenames with special characters (in particular spaces).
Signed-off-by Patrick Ohly <[email protected]>
--- scripts/combo-layer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/combo-layer +1 -1
@@ -380,7 +380,7 @@ tail -c +18 $tmpname | head -c -4 if not parent: parent = '.' # May run outside of the current directory, so do not assume that .git exists. - filter_branch.extend(['--tree-filter', 'mkdir -p .git/tmptree && mv $(ls -1 -a | grep -v -e ^.git$ -e ^.$ -e ^..$) .git/tmptree && mkdir -p %s && mv .git/tmptree %s' % (parent, dest_dir)]) + filter_branch.extend(['--tree-filter', 'mkdir -p .git/tmptree && find . -mindepth 1 -maxdepth 1 ! -name .git -print0 | xargs -0 -I SOURCE mv SOURCE .git/tmptree && mkdir -p %s && mv .git/tmptree %s' % (parent, dest_dir)]) filter_branch.append('HEAD') runcmd(filter_branch) runcmd('git update-ref -d refs/original/refs/heads/%s' % name)
Signature · 1 line
2.1.4