From: Jonas Fonseca Date: Mon, 30 May 2005 16:39:57 GMT Subject: [PATH] cg-Xlib: Fix problem with cg-update and deleted files Message-ID: <20050530163957.GC28681@diku.dk> In-Reply-To: <1117466600.7072.188.camel@pegasus> Marcel Holtmann wrote Mon, May 30, 2005: > with the latest cg-update and pulling the linux-2.6 repository I saw > problems with deleted files: Update tree_timewarp()s git-diff-tree logic to handle the diff-format header and file both being NUL separated. Signed-off-by: Jonas Fonseca --- I've only tested it in a small test script ... diff --git a/cg-Xlib b/cg-Xlib --- a/cg-Xlib +++ b/cg-Xlib @@ -73,10 +73,15 @@ tree_timewarp () { echo "$branch" > $_git/HEAD # Kill gone files - git-diff-tree -z -r $base $branch | egrep -z '^:([^ ][^ ]* ){4}D' | xargs -0 bash -c ' + git-diff-tree -r $base $branch | xargs -0 bash -c ' while [ "$1" ]; do - rm -- "$(echo "$1" | cut -f 2)" - shift + header="$1"; shift + file="$1"; shift + + # match ":100755 000000 14d43b1abf... 000000000... D" + if echo "$header" | egrep "^:([^ ][^ ]* ){4}D" >/dev/null; then + rm -- "$file" + fi done ' padding git-checkout-cache -f -a -- Jonas Fonseca