update
This commit is contained in:
parent
2ab8c1c53c
commit
b19172912e
1 changed files with 8 additions and 59 deletions
|
@ -1,61 +1,10 @@
|
||||||
Can it be built on Windows?
|
The git-annex Windows port is not ready for prime time. But it does exist
|
||||||
|
now! --[[Joey]]
|
||||||
|
|
||||||
short answer: not yet
|
## status
|
||||||
|
|
||||||
First, you need to get some unix utilities for windows. Git of course.
|
* `git annex add` doesn't work
|
||||||
Also rsync, and a `cp` command that understands at least `cp -p`, and
|
* test suite doesn't work
|
||||||
`uuid`, and `xargs` and `sha1sum`. Note that some of these could be
|
* Bad file locking, it's probably not safe to run more than one git-annex
|
||||||
replaced with haskell libraries to some degree.
|
process at the same time on Windows.
|
||||||
|
* No support for the assistant or webapp.
|
||||||
There are probably still some places where it assumes / as a path
|
|
||||||
separator, although I fixed probably almost all by now.
|
|
||||||
|
|
||||||
Then windows versions of these functions could be found,
|
|
||||||
which are all the ones that need POSIX, I think. A fair amount of this,
|
|
||||||
the stuff to do with signals and users, could be empty stubs in windows.
|
|
||||||
The file manipulation, particularly symlinks, would probably be the main
|
|
||||||
challenge.
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
addSignal
|
|
||||||
blockSignals
|
|
||||||
changeWorkingDirectory
|
|
||||||
createLink
|
|
||||||
createSymbolicLink
|
|
||||||
emptySignalSet
|
|
||||||
executeFile
|
|
||||||
fileMode
|
|
||||||
fileSize
|
|
||||||
forkProcess
|
|
||||||
getAnyProcessStatus
|
|
||||||
getEffectiveUserID
|
|
||||||
getEnvDefault
|
|
||||||
getFileStatus
|
|
||||||
getProcessID
|
|
||||||
getProcessStatus
|
|
||||||
getSignalMask
|
|
||||||
getSymbolicLinkStatus
|
|
||||||
getUserEntryForID
|
|
||||||
getUserEntryForName
|
|
||||||
groupWriteMode
|
|
||||||
homeDirectory
|
|
||||||
installHandler
|
|
||||||
intersectFileModes
|
|
||||||
isRegularFile
|
|
||||||
isSymbolicLink
|
|
||||||
modificationTime
|
|
||||||
otherWriteMode
|
|
||||||
ownerWriteMode
|
|
||||||
readSymbolicLink
|
|
||||||
setEnv
|
|
||||||
setFileMode
|
|
||||||
setSignalMask
|
|
||||||
sigCHLD
|
|
||||||
sigINT
|
|
||||||
unionFileModes
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
A good starting point is
|
|
||||||
<http://hackage.haskell.org/package/unix-compat-0.3.0.1>. However, note
|
|
||||||
that its implementations of stuff like `createSymbolicLink` are stubs.
|
|
||||||
--[[Joey]]
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue