diff options
author | Joey Hess <joey@kitenet.net> | 2014-03-19 16:13:14 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-03-19 16:13:14 -0400 |
commit | fa6a5549ad6ed07c4cde21c6e3ef7edb6eb6a50f (patch) | |
tree | f7949152e163e612ef3bcfa8e5192229c1cd027b | |
parent | 0bc0364c5cd75695bc66181cc3bd52a4d26c4c87 (diff) | |
parent | 09b4df70c3c66f5144d886778d2458c434b051a2 (diff) |
Merge branch 'master' of ssh://git-annex.branchable.com
6 files changed, 99 insertions, 0 deletions
diff --git a/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_5_661ca15b68bc0e3fbe85f11400570446._comment b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_5_661ca15b68bc0e3fbe85f11400570446._comment new file mode 100644 index 000000000..ccafb635e --- /dev/null +++ b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_5_661ca15b68bc0e3fbe85f11400570446._comment @@ -0,0 +1,15 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk5aY0oBmuQtnoTNtji-dPgDw9p7J24YeY" + nickname="Jiří" + subject="further info" + date="2014-03-18T23:46:08Z" + content=""" +On my windows 7 machine, ls-files does return something better + + c:\JSH\antest>git --work-tree=c:\JSH\antest ls-files --others + \"h\303\241\304\215ky.txt\" + +If I am correct, it is unicode 225 269, but as octal utf-8. ls-files -z return correct utf-8 (68 C3 A1 C4 8D 6B ...) + +I will test that tomorrow also on windows xp on my work pc. +"""]] diff --git a/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_6_0e8820169c0300d296c697154fd05dc4._comment b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_6_0e8820169c0300d296c697154fd05dc4._comment new file mode 100644 index 000000000..4f7ec51fa --- /dev/null +++ b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_6_0e8820169c0300d296c697154fd05dc4._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk5aY0oBmuQtnoTNtji-dPgDw9p7J24YeY" + nickname="Jiří" + subject="further info 2" + date="2014-03-19T11:53:17Z" + content=""" +And on my windows xp computer, git ls-files returns valid utf-8 too. +"""]] diff --git a/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_7_b23a2bf106053f105798b270536057e5._comment b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_7_b23a2bf106053f105798b270536057e5._comment new file mode 100644 index 000000000..b5cf90ef0 --- /dev/null +++ b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_7_b23a2bf106053f105798b270536057e5._comment @@ -0,0 +1,38 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk5aY0oBmuQtnoTNtji-dPgDw9p7J24YeY" + nickname="Jiří" + subject="further info 3" + date="2014-03-19T16:23:58Z" + content=""" +Also ghc doesn't seem to do any weird transformations with that string + + import System.Process + import qualified Data.ByteString as S + import qualified Data.ByteString.UTF8 as U + import GHC.IO.Handle + + files :: S.ByteString -> [S.ByteString] + files ps + | S.null ps = [] + | otherwise = case search ps of + Nothing -> [ps] + Just n -> S.take n ps : files (S.drop (n+1) ps) + where search = S.elemIndex 0 + + main = do + let prc = CreateProcess { + cmdspec = RawCommand \"git\" [\"--work-tree=D:\\antest\",\"ls-files\",\"--others\",\"-z\",\"--\",\"h\225\269ky.txt\"], + cwd = Nothing, + env = Nothing, + std_in = Inherit, + std_out = CreatePipe, + std_err = Inherit, + close_fds = False, + create_group = False } + (_,Just out,_,_) <- createProcess prc + hSetBinaryMode out True + str <- S.hGetContents out + print $ map U.toString $ files str + +prints correctly [\"h\225\269ky.txt\"] I don't think that FilesystemEncoding will do any good on windows, since git seems to use utf-8 instead of normal windows console encoding. +"""]] diff --git a/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_8_7f23911705eaa58a9230f19ab890e87f._comment b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_8_7f23911705eaa58a9230f19ab890e87f._comment new file mode 100644 index 000000000..2cd4b346e --- /dev/null +++ b/doc/bugs/Unicode_file_names_ignored_on_Windows/comment_8_7f23911705eaa58a9230f19ab890e87f._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="209.250.56.102" + subject="comment 8" + date="2014-03-19T19:57:00Z" + content=""" +Windows & haskell? I'd only be more surprised if spj wandered in here. ;) + +So, that works because you're using ByteStrings. But git-annex mostly does not use ByteStrings, and it would be a lot of work to switch to them everywhere it reads FilePaths from git. + +But it seems my test yesterday using `hSetEncoding h Encoding.utf8` went wrong somehow. That does work. git-annex can operate on the file with that change. +"""]] diff --git a/doc/todo/required_content/comment_2_132ec6378db63af6281569cf5748b9d3._comment b/doc/todo/required_content/comment_2_132ec6378db63af6281569cf5748b9d3._comment new file mode 100644 index 000000000..dece48c01 --- /dev/null +++ b/doc/todo/required_content/comment_2_132ec6378db63af6281569cf5748b9d3._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="209.250.56.154" + subject="partial implementation plan" + date="2014-03-19T16:37:05Z" + content=""" +* When there is a required content expression, OR it with the preferred content expression. This will make the assistant, --auto etc want to get required content. +* When checking if something can be dropped, check the required content expression. Only Command.Drop does this so nicely centralized in one place. +* When checking required content expression for drop, must do active verification of terminals that relate to other copies, for the same reason the numcopies check when dropping does active validation. This includes `copies=`, `lackingcopies=`, `approxlackingcopies=`, `inallgroup=`. + +The last is where the complication comes in. Seems to need a cache of places the key was just now verified to be present, which can be used to avoid unnecessary redundant active verification (for example \"not (copies=2 and inallgroup=bar)\" would otherwise redundantly check some remotes). The numcopies checking code should use the same cache too. + +* Finally, if the required content cannot be satisfied, it would be nice to know which terminal failed in order to show the user a useful error message. The current Matcher does not provide a way to do that though. Or could just say, \"unable to satisfy required content: $expression\" +"""]] diff --git a/doc/todo/wishlist:_metadata_metadata_view/comment_2_5763d0e403c476ac692c1cd50630f824._comment b/doc/todo/wishlist:_metadata_metadata_view/comment_2_5763d0e403c476ac692c1cd50630f824._comment new file mode 100644 index 000000000..8b3fc3108 --- /dev/null +++ b/doc/todo/wishlist:_metadata_metadata_view/comment_2_5763d0e403c476ac692c1cd50630f824._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="Xyem" + ip="87.194.19.134" + subject="comment 2" + date="2014-03-19T11:18:19Z" + content=""" +Can $field be a glob? i.e. * + +I'm looking for the files to be organised to the last change date to *any* metadata, not a specific field. + +For example, I may have added some vacation photos and set some metadata (location=Malta), a couple of months later, gone through and added metadata to some of them (person=Susan, event=Wedding Reception). 3 months later, I want to see a directory containing those that were initially added and metadata'd(?) with \"location=Malta\" and not touched since, and another showing those that had gotten additional metadata so I know which ones I should be looking at. +"""]] |