Hi. This regression is not related to this patch :)
I will be filing separate bug soonish. On Wed, Sep 1, 2010 at 11:43 PM, Dmitry Astapov <[email protected]> wrote: > Hi. > > I've just identified the nasty regression this patch causes somewhere deep > inside "darcs pull". I'll investigate and get back to you. > > On Wed, Sep 1, 2010 at 6:39 PM, Florent Becker <[email protected]> wrote: > >> >> Florent Becker <[email protected]> added the comment: >> >> > >> >New patches: >> > >> >[Fix for issue1932 >> >Dmitry Astapov <[email protected]>**20100825173045 >> > Ignore-this: 68db2c42ef376307271a7f609e62481c >> > Do _not_ check for colons in "isRelative" - everything is covered >> > inside Add.lhs and governed by use of "--reserved-ok" option. >> > >> > Replace isRelative and isAbsolute with functions from System.FilePath >> > for correct handling of platform specifics. >> >] hunk ./src/Darcs/Commands/Add.lhs 48 >> > , doesFileReallyExist, treeHas, treeHasDir, >> treeHasAnycase ) >> > import Darcs.RepoPath ( SubPath, toFilePath, simpleSubPath, toPath ) >> > import Darcs.Repository.Prefs ( darcsdirFilter, boringFileFilter ) >> >-import Data.Maybe ( maybeToList, fromJust ) >> >+import Data.Maybe ( maybeToList ) >> > import System.FilePath.Posix ( takeDirectory, (</>) ) >> > import qualified System.FilePath.Windows as WindowsFilePath >> > import Printer( text ) >> >hunk ./src/Darcs/Commands/Add.lhs 54 >> > >> > #include "gadts.h" >> >+#include "impossible.h" >> > >> > addDescription :: String >> > addDescription = "Add one or more new files or directories." >> > >> Why exchange the import of fromJust for the inclusion of impossible? I >> don't >> see the point. >> >> >hunk ./src/Darcs/URL.hs 30 >> > * A URL contains the sequence @\":\/\/\"@. >> > >> > * A local filepath does not contain colons, except >> >- as second character (windows drives). >> >+ as second character (windows drives) when this >> >+ filepath is meant to be used as repository name >> > >> > * A path that is neither a URL nor a local file >> > is an ssh-path. >> >hunk ./src/Darcs/URL.hs 56 >> > isSshNopath >> > ) where >> > >> >+import qualified System.FilePath as FP (isRelative, isAbsolute, isValid) >> >+ >> > #include "impossible.h" >> > >> > isRelative :: String -> Bool >> >hunk ./src/Darcs/URL.hs 61 >> >-isRelative (_:':':_) = False >> >-isRelative f@(c:_) = isFile f && c /= '/' && c /= '~' >> > isRelative "" = bug "Empty filename in isRelative" >> >hunk ./src/Darcs/URL.hs 62 >> >+isRelative f = FP.isRelative f >> > >> > isAbsolute :: String -> Bool >> > isAbsolute "" = bug "isAbsolute called with empty filename" >> >hunk ./src/Darcs/URL.hs 66 >> >-isAbsolute f = isFile f && (not $ isRelative f) >> >+isAbsolute f = FP.isAbsolute f >> > >> We are now using the stdlib isRelative and isAbsolute. We still have >> isAbsolute = not . isRelative . >> >> > isFile :: String -> Bool >> >hunk ./src/Darcs/URL.hs 69 >> >-isFile (_:_:fou) = ':' `notElem` fou >> >-isFile _ = True >> >+isFile f@(_:_:fou) = ':' `notElem` fou && FP.isValid f >> >+isFile f = FP.isValid f >> > >> > isUrl :: String -> Bool >> > isUrl (':':'/':'/':_:_) = True >> > >> >> We still have : >> >> isSsh :: String -> Bool >> isSsh s = not (isFile s || isUrl s) >> >> This means (IIUC) that on windows, trying to use a "special" filename >> such as "prn" would try to do an "ssh prn". I'm applying this anyway, >> but we should give some other error message ("darcs pull prn" --> "no >> route to host prn" would be a bit puzzling). Can you do that in a >> followup patch? >> >> ---------- >> status: review-in-progress -> accepted-pending-tests >> >> __________________________________ >> Darcs bug tracker <[email protected]> >> <http://bugs.darcs.net/patch368> >> __________________________________ >> > > > > -- > Dmitry Astapov > -- Dmitry Astapov
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
