aboutsummaryrefslogtreecommitdiff
path: root/Utility/FileMode.hs
Commit message (Collapse)AuthorAge
* use unix-compat 0.5 on windowsGravatar Joey Hess2017-11-14
| | | | Re-applying ac57659e61f9743aebd35258e89752ced0040f9f
* Revert "use unix-compat 0.5 on windows"Gravatar Joey Hess2017-11-09
| | | | | | This reverts commit ac57659e61f9743aebd35258e89752ced0040f9f. Too early for this; needs newer Win32 version. Le sigh.
* use unix-compat 0.5 on windowsGravatar Joey Hess2017-11-09
| | | | | | | | | | | That version has my patches for the problems that Utility.PosixFiles was working around, so am able to get rid of that module now. This will later allow bringing back the custom-setup stanza in the cabal file. It will need to depend on unix-compat 0.5 on all OS's, which I'm not ready to do yet. This commit was sponsored by Nick Daly on Patreon.
* multicast: New command, uses uftp to multicast annexed files, for eg a ↵Gravatar Joey Hess2017-03-30
| | | | | | classroom setting. This commit was supported by the NSF-funded DataLad project.
* Work around sqlite's incorrect handling of umask when creating databases.Gravatar Joey Hess2017-02-13
| | | | | | | | | Refactored some common code into initDb. This only deals with the problem when creating new databases. If a repo got bad permissions into it, it's up to the user to deal with it. This commit was sponsored by Ole-Morten Duesund on Patreon.
* clean build warning on windowsGravatar Joey Hess2015-12-28
|
* bring back some deleted functions that git-repair usesGravatar Joey Hess2015-12-15
|
* generalize to MonadIOGravatar Joey Hess2015-11-12
|
* fix export list to work on windowsGravatar Joey Hess2015-10-12
|
* export FileMode typeGravatar Joey Hess2015-10-08
|
* honor core.sharedRepository settings in lockContentGravatar Joey Hess2015-05-19
| | | | | | | | The content file may not be owned by the user running git-annex, in which case, setting the owner write bit was not enough to let lockContent act on the file. However, with some core.sharedRepository configs, the file should be writable by the user's group. So, the thing to do is to call thawContent on it.
* revert reversion merged from propellorGravatar Joey Hess2015-04-29
|
* avoid dupicate bracket import errrorGravatar Joey Hess2015-04-29
| | | | | | | | | | Ambiguous occurrence `bracket' It could refer to either `Control.Exception.bracket', imported from `Control.Exception' at Utility/FileMode.hs:14:27-33 (and originally defined in `Control.Exception.Base') or `Utility.Exception.bracket', imported from `Utility.Exception' at Utility/FileMode.hs:22:1-24 (and originally defined in `Control.Monad.Catch')
* merge generalization of writeFileProtected from propellorGravatar Joey Hess2015-04-28
|
* removed all uses of undefined from code baseGravatar Joey Hess2015-04-19
| | | | It's a code smell, can lead to hard to diagnose error messages.
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* unify exception handling into Utility.ExceptionGravatar Joey Hess2014-08-07
| | | | | | | | | | | | | | | | | | | | Removed old extensible-exceptions, only needed for very old ghc. Made webdav use Utility.Exception, to work after some changes in DAV's exception handling. Removed Annex.Exception. Mostly this was trivial, but note that tryAnnex is replaced with tryNonAsync and catchAnnex replaced with catchNonAsync. In theory that could be a behavior change, since the former caught all exceptions, and the latter don't catch async exceptions. However, in practice, nothing in the Annex monad uses async exceptions. Grepping for throwTo and killThread only find stuff in the assistant, which does not seem related. Command.Add.undo is changed to accept a SomeException, and things that use it for rollback now catch non-async exceptions, rather than only IOExceptions.
* relicense general utility library code to BSDGravatar Joey Hess2014-05-10
| | | | | Omitted a couple of files what have had significant contributions from others.
* windows fix try 2Gravatar Joey Hess2014-04-02
|
* refactorGravatar Joey Hess2014-03-31
|
* avoid importing CommonGravatar Joey Hess2014-03-30
| | | | it caused a loop when reusing this in propellor
* Better workaround for problem umasks when eg, setting up ssh keys.Gravatar Joey Hess2014-03-14
|
* avoid using openFile when withFile can be usedGravatar Joey Hess2014-02-03
| | | | | | Potentially fixes some FD leak if an action on an opened file handle fails for some reason. There have been some hard to reproduce reports of git-annex leaking FDs, and this may solve them.
* Revert "don't use writeFileProtected on windows"Gravatar Joey Hess2013-12-06
| | | | This reverts commit 5a795c7f7b12429a7003c27e740579248c94a628.
* don't use writeFileProtected on windowsGravatar Joey Hess2013-12-06
| | | | This was preventing the webapp from working.
* add allowReadGravatar Joey Hess2013-11-20
|
* Ensure execute bit is set on directories when core.sharedrepsitory is set.Gravatar Joey Hess2013-11-18
|
* get rid of __WINDOWS__, use mingw32_HOST_OSGravatar Joey Hess2013-08-02
| | | | | The latter is harder for me to remember, but avoids build failures in code used by the configure program.
* fix permission damage (thanks, Windows)Gravatar Joey Hess2013-05-11
|
* clean up from windows portingGravatar Joey Hess2013-05-11
|
* git-annex now builds on Windows (doesn't work)Gravatar Joey Hess2013-05-11
|
* use unix-compat, removed a lot of stubs in Utility.FileModeGravatar Joey Hess2013-05-11
|
* fixup #if 0 stubs to use #ifndef mingw32_HOST_OSGravatar Joey Hess2013-05-10
| | | | | | That's needed in files used to build the configure program. For the other files, I'm keeping my __WINDOWS__ define, as I find that much easier to type. I may search and replace it to use the mingw32_HOST_OS thing later.
* stub out POSIX stuffGravatar Joey Hess2013-05-10
|
* avoid crashing on Android when file mode of .git/annex/url cannot be setGravatar Joey Hess2013-05-03
| | | | | Presumably, if the filesystem doesn't support file permissions, it's not much of a multiuser system.
* restart UIGravatar Joey Hess2013-01-03
| | | | | Browser behavior is not ideal; a new tab is opened on restart. Browsers won't let me redirect to a file:// so I cannot use the old tab.
* finished where indentation changesGravatar Joey Hess2012-12-13
|
* use xmpp::user@host for xmpp remotesGravatar Joey Hess2012-11-09
| | | | | | Inject the required git-remote-xmpp into PATH when running xmpp git push. Rest of the time it will not be in PATH, and git won't be able to talk to xmpp remotes.
* move sticky bit code into Utility.FileModeGravatar Joey Hess2012-09-25
| | | | | | | | | | | Simplified it using existing functions. I doubt setSticky needs to return the FileMode; if it does for some reason, it can be changed to use modifyFileMode' Converted isSticky to a pure function for consistency with isSymlink. Note that the sticky bit of a file can be tested thus: isSticky . fileMode <$> getFileStatus file
* in which I discover voidGravatar Joey Hess2012-04-21
| | | | void :: Functor f => f a -> f () -- ah, of course that's useful :)
* honor core.sharedRepository when making all the other files in the annexGravatar Joey Hess2012-04-21
| | | | Lock files, directories, etc.
* better file mode setting codeGravatar Joey Hess2012-04-21
|
* Support git's core.sharedRepository configurationGravatar Joey Hess2012-04-21
| | | | | | This is incomplete, it does not honor it yet for hash directories and other annex bookkeeping files. Some of that is not needed for a bare repo; some of it may be.
* avoid chown call if the current file mode is same as newGravatar Joey Hess2012-04-21
| | | | | | | Not only an optimisation. fsck always tried to preventWrite to make sure file modes are good, and in a shared repo, that will fail on directories not owned by the current user. Although there may be other problems with such a setup.
* check hook executabilityGravatar Joey Hess2012-03-14
|
* make unused check branches and tags tooGravatar Joey Hess2011-09-28
| | | | needs time and space optimisation
* refactorGravatar Joey Hess2011-09-23