Fix typo in duplicate removal on archive, per discussion at http://tech.groups.yahoo.com/group/todotxt/message/3775

This commit is contained in:
Paul Roub
2012-01-08 12:14:08 -05:00
parent f8a6e5f8d6
commit 492d98e50a
2 changed files with 35 additions and 1 deletions

34
tests/t1900-archive.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/sh
test_description='archive functionality
Ensure we can append items successfully.
'
. ./test-lib.sh
cat >> todo.txt<<EOF
one
two
three
one
x done
four
EOF
test_todo_session 'archive with duplicates' <<EOF
>>> todo.sh archive
x done
TODO: $HOME/todo.txt archived.
EOF
test_todo_session 'list after archive' <<EOF
>>> todo.sh ls
4 four
1 one
3 three
2 two
--
TODO: 4 of 4 tasks shown
EOF
test_done

View File

@@ -361,7 +361,7 @@ archive()
grep "^x " "$TODO_FILE" >> "$DONE_FILE" grep "^x " "$TODO_FILE" >> "$DONE_FILE"
sed -i.bak '/^x /d' "$TODO_FILE" sed -i.bak '/^x /d' "$TODO_FILE"
cp "$TODO_FILE" "$TMP_FILE" cp "$TODO_FILE" "$TMP_FILE"
sed -n 'G; s/\n/&&/; /^\([ ~-]*\n\).*\n\1/d; s/\n//; h; P' "$TMP_FILE" > "$TODO_FILE" sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P' "$TMP_FILE" > "$TODO_FILE"
if [ $TODOTXT_VERBOSE -gt 0 ]; then if [ $TODOTXT_VERBOSE -gt 0 ]; then
echo "TODO: $TODO_FILE archived." echo "TODO: $TODO_FILE archived."
fi fi