summaryrefslogtreecommitdiff
path: root/doc/bugs/fsck_output.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bugs/fsck_output.mdwn')
-rw-r--r--doc/bugs/fsck_output.mdwn46
1 files changed, 0 insertions, 46 deletions
diff --git a/doc/bugs/fsck_output.mdwn b/doc/bugs/fsck_output.mdwn
deleted file mode 100644
index 1b00dd7b3..000000000
--- a/doc/bugs/fsck_output.mdwn
+++ /dev/null
@@ -1,46 +0,0 @@
-When you check several files and the fsck fails, you get confusing output:
-
-<pre>
-O fsck test1 (checksum...)
-E Only 1 of 2 trustworthy copies of test1 exist.
-E Back it up with git-annex copy.
-O
-O failed
-O fsck test2 (checksum...)
-E Only 1 of 2 trustworthy copies of test2 exist.
-E Back it up with git-annex copy.
-O
-O failed
-</pre>
-
-The newline is in the wrong place and confuses the user. It should be printed _after_ "failed".
-
-> This is a consequence of part of the output being printed to stderr, and
-> part to stdout. I've marked the lines above with E and O.
->
-> Normally a "failed" is preceeded by a message output to stdout desribing
-> the problem; such a message will not be "\n" terminated, so a newline
-> is always displayed before "failed". In this case, since the message
-> is sent to stderr, it is newline terminated.
->
-> Fixing this properly would involve storing state, or rethinking
-> when git-annex displays newlines (and I rather like its behavior
-> otherwise).
->
-> A related problem occurs if an error message is unexpetedly printed.
-> Dummying up an example:
->
-> O get test1 (from foo...) E git-annex: failed to run ssh
-> failed
->
-> --[[Joey]]
-
->> Well, I fixed this in all cases except a thrown non-IO error (last
->> example aboce), which output is printed by haskell's runtime. I'd
->> have to add a second error handler to handle those, and it's not
->> clear what it would do. Often an error will occur before anything
->> else is printed, and then the current behavior is right; if something
->> has been printed it would be nice to have a newline before the error,
->> but by the time the error is caught we'd be out of the annex monad
->> and not really have any way to know if something has been printed.
->> I think my fix is good enough [[done]] --[[Joey]]