summaryrefslogtreecommitdiff
path: root/Utility
Commit message (Collapse)AuthorAge
* Merge branch 'winprocfix'Gravatar Joey Hess2015-10-04
|\
* | Ported disk free space checking code to work on Solaris.Gravatar Joey Hess2015-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | On Solaris, using f_bsize provided a value that is apparently much larger than the real block size. The solaris docs for statvfs say f_bsize is the "preferred" file system block size, and I guess the filesystem prefers larger blocks, but uses smaller ones or something. The docs also say that f_frsize is the "fundamental" block size. Switched to using f_frsize on Linux and kFreeBSD too, since I guess f_bsize could in theory vary the same way there too. Assuming that Solaris is not violating the posix spec, I guess the linux man page for statvfs is not as well written and I misunderstood it.
* | deal with more backward-compatible breaking renamings in conduitGravatar Joey Hess2015-10-02
| | | | | | | | | | | | This is the kind of annoying thing that makes me not want to use a library. conduitManagerSettings was a perfectly fine name and could have been kept forever.
* | avoid deprecation warnings when built with http-client >= 0.4.18Gravatar Joey Hess2015-10-01
| | | | | | | | | | | | | | | | | | | | Since I want git-annex to keep building on debian stable, I need to still support the old http-client, which required explicit calls to closeManager, or use of withManager to get Managers to close at appropriate times. This is not needed in the new version, and so they added a deprecation warning. IMHO much too early, because look at the mess I had to go through to avoid that deprecation warning while supporting both versions..
* | fix bug in back-compat ifdefGravatar Joey Hess2015-09-23
| |
* | redundant importGravatar Joey Hess2015-09-22
| |
* | Improve ~/.ssh/config modification code to not add trailing spaces to lines ↵Gravatar Joey Hess2015-09-22
| | | | | | | | | | | | | | it cannot parse. "Host\n" is a valid line, and actually gets parsed ok, but this also holds for other lines that it fails to parse for some reason.
* | assistant: When updating ~/.ssh/config, preserve any symlinks.Gravatar Joey Hess2015-09-21
| |
* | improve commentGravatar Joey Hess2015-09-15
| |
* | Fix bug in combination of preferred and required content settings. When one ↵Gravatar Joey Hess2015-09-15
| | | | | | | | | | | | | | was set to the empty string and the other set to some expression, this bug caused all files to be wanted, instead of only files matching the expression. Avoid: MAny `MOr` otherexpression Which matches anything.
* | I've been not documenting these import Preludes used to deal with the AMP ↵Gravatar Joey Hess2015-09-15
| | | | | | | | transition
* | Silence redundant import warning with base-4.8.*Gravatar Simon Jakobi2015-09-15
| |
* | merge hlint changes from propellorGravatar Joey Hess2015-09-13
| |
* | support gpg.programGravatar Joey Hess2015-09-09
| | | | | | | | | | | | When gpg.program is configured, it's used to get the command to run for gpg. Useful on systems that have only a gpg2 command or want to use it instead of the gpg command.
| * webapp: Fix support for entering password when setting up a ssh remote.Gravatar Joey Hess2015-09-03
|/
* Fix Windows build to work with ghc 7.10Gravatar Joey Hess2015-09-01
| | | | | | | | | | | | It was failing at link time, some problem with terminatePID. Re-implemented that to not use a C wrapper function, which cleared up the problem. Removed old EvilLinker hack with must have been related to the same problem. Note that I have not tested this with older ghc's. In 4f59f9439687cccfb7aac6aca62dbe97038179bf I mention having tried this approach before, and getting segfaults.. So, who knows. It seems to work fine with ghc 7.10 at least.
* make sync --no-content be acceptedGravatar Joey Hess2015-08-20
| | | | It's the default, but this is a step toward changing that default later..
* importfeed --relaxed: Avoid hitting the urls of items in the feed.Gravatar Joey Hess2015-08-19
|
* package qualify importsGravatar Joey Hess2015-08-14
| | | | needed for "make fast" to work
* add debug logging of process exitsGravatar Joey Hess2015-08-13
| | | | | | | | | | This is mostly to be able to see how long a command took to run. Also exit code may be useful. Unofrtunately, I can't put the command name in there, because it's not available at this point, and it would be a much larger change to wrap the ProcessHandle data type to add that. However, it's generally pretty obvious which process exited from context.
* avoid throwing exception when String is not encoded using the filesystem ↵Gravatar Joey Hess2015-08-12
| | | | | | | | encoding Since _encodeFilePath generates a String that doesn't use the filesystem encoding, when this exception is caught, we know we already have such a String, and can just return it as-is.
* fix test suite fail in LANG=CGravatar Joey Hess2015-08-12
| | | | | | | | | | | | This was caused by 88aeb849f620a13da47508045daae461a223c997 an Arbitrary String is not necessarily encoded using the filesystem encoding, and in a non-utf8 locale, encodeBS throws an exception on such a string. All I could think to do is limit test data to ascii. This shouldn't be a problem in practice, because the all Strings in git-annex that are not generated by Arbitrary should be loaded in a way that does apply the filesystem encoding.
* Fix setting/setting/viewing metadata that contains unicode or other special ↵Gravatar Joey Hess2015-08-11
| | | | | | | | | | | | | | | | | characters, when in a non-unicode locale. Oh boy, not again. So, another place that the filesystem encoding needs to be applied. Yay. In passing, I changed decodeBS so if a NUL is embedded in the input, the resulting FilePath doesn't get truncated at that NUL. This was needed to make prop_b64_roundtrips pass, and on reviewing the callers of decodeBS, I didn't see any where this wouldn't make sense. When a FilePath is used to operate on the filesystem, it'll get truncated at a NUL anyway, whereas if a String is being used for something else, it might conceivably have a NUL in it, and we wouldn't want it to get truncated when going through decodeBS. (NB: There may be a speed impact from this change.)
* Added support for SHA3 hashed keys (in 8 varieties), when git-annex is built ↵Gravatar Joey Hess2015-08-06
| | | | | | | | using the cryptonite library. While cryptohash has SHA3 support, it has not been updated for the final version of the spec. Note that cryptonite has not been ported to all arches that cryptohash builds on yet.
* proxy: Fix behavior when run in subdirectory of git repo.Gravatar Joey Hess2015-08-04
| | | | | | | | | This fixes a reversion introduced by relative path changes back last winter. The root cause is simplifyPath "../foo" was incorrectly yielding "foo". absPathFrom seems quite horrible. Probably most things that use it should use </> instead.
* remove unused importsGravatar Joey Hess2015-08-03
|
* windows build warning fixesGravatar Joey Hess2015-08-03
|
* remove unused importsGravatar Joey Hess2015-08-03
|
* fix build warning when building with yesod 1.2 and newer yesod-coreGravatar Joey Hess2015-08-03
|
* Revert "fix build warning when building with yesod 1.2"Gravatar Joey Hess2015-08-03
| | | | This reverts commit f21bd84a8cc8f664106d2cb18fd38152d3372040.
* fix build warning when building with yesod 1.2Gravatar Joey Hess2015-08-03
|
* addidential debuggingGravatar Joey Hess2015-08-03
|
* analysis; forwardedGravatar Joey Hess2015-08-03
|
* wire tasty's option parser into the main program option parserGravatar Joey Hess2015-07-13
| | | | | This makes bash completion work for git-annex test, and is generally cleaner.
* generalize parseDuration so it can be used in the ReadM monadGravatar Joey Hess2015-07-08
|
* better method for running tasty's optparse as a subcommandGravatar Joey Hess2015-07-08
|
* import: Fix failure of cross-device import on Windows.Gravatar Joey Hess2015-07-07
| | | | | As well as import, 2 other places ran "mv" manually, so changed them to use moveFile as well.
* avoid "Defined but not used" warning on androidGravatar Joey Hess2015-07-02
|
* use bloom filter in second pass of sync --all --contentGravatar Joey Hess2015-06-16
| | | | | | | | This is needed because when preferred content matches on files, the second pass would otherwise want to drop all keys. Using a bloom filter avoids this, and in the case of a false positive, a key will be left undropped that preferred content would allow dropping. Chances of that happening are a mere 1 in 1 million.
* instance Hashable Key for bloomfilterGravatar Joey Hess2015-06-16
|
* improve url parsing moreGravatar Joey Hess2015-06-14
| | | | | Now can handle eg, "http://[::1]/download/cdrom-fontzip[foo]", where the first [] need to stay unescaped, but the rest have to be escaped.
* Improve url parsing to handle some urls containing illegal [] characters in ↵Gravatar Joey Hess2015-06-14
| | | | | | their paths. Ie, "https://archive.org/download/zoom-2/Zoom - Release 2 (1996)(Active Software)[!].iso"
* oh foo, I didn't mean to include this in the prev commitGravatar Joey Hess2015-06-11
|
* 4 ns optimisation of repeated calls to hasDifference on the same DifferencesGravatar Joey Hess2015-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I want this as fast as possible, so it can be added to code paths without slowing them down. Avoid the set lookup, and rely on laziness, drops runtime from 14.37 ns to 11.03 ns according to this criterion benchmark: import Criterion.Main import qualified Types.Difference as New import qualified Types.DifferenceOld as Old main :: IO () main = defaultMain [ bgroup "hasDifference" [ bench "new" $ whnf (New.hasDifference New.OneLevelObjectHash) new , bench "old" $ whnf (Old.hasDifference Old.OneLevelObjectHash) old ] ] where s = "fromList [ObjectHashLower, OneLevelObjectHash, OneLevelBranchHash]" new = New.readDifferences s old = Old.readDifferences s A little bit of added boilerplate, but I suppose it's worth it to not need to worry about set lookup overhead. Note that adding more differences would slow down the old implementation; the new implementation will run the same speed.
* two more breakages introduced when removing the Params constructorGravatar Joey Hess2015-06-03
|
* fix bug introduced in recent Params removalGravatar Joey Hess2015-06-02
|
* Revert "When listing DBus services, also list activatable services."Gravatar Joey Hess2015-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 334954d8bf9113b679f8af29ad481b0daece86f7. Sebastian thinks best to revert this: It seems to me the reason I needed to look at activatable sockets might actually be a networkd bug, and I was in error about patch 0001. On my machines (without DHCP), networkd quits after configuring the links. I thought this had to do with network activation, but that was probably mistaken. This was obscured by my testing the change by doing systemctl stop/start on networkd; now that I actually unplugged the network cable, I noticed no DBus messages are triggered by this on this machine. Your test case might have had a similar problem (networkd quitting on idle). Might be related to [1]. On another machine (with DHCP) networkd remains active all the time, and patch 0002 works there. You might want to revert 0001, though: Suppose someone’s running no manager at all, so that polling would be required. Because networkd is still listed as activable, we would refrain from polling – by mistake, because networkd doesn’t seem to actually go active if we listen on its bus, and it’s listed as activable even when it’s not configured. Connectivity-related messages will come in when stopping/starting the service, but not when unplugging the cable.
* When listing DBus services, also list activatable services.Gravatar Sebastian Reuße2015-06-02
|
* remove Params constructor from Utility.SafeCommandGravatar Joey Hess2015-06-01
| | | | | | | | | | | | | | | | | | This removes a bit of complexity, and should make things faster (avoids tokenizing Params string), and probably involve less garbage collection. In a few places, it was useful to use Params to avoid needing a list, but that is easily avoided. Problems noticed while doing this conversion: * Some uses of Params "oneword" which was entirely unnecessary overhead. * A few places that built up a list of parameters with ++ and then used Params to split it! Test suite passes.
* AMP hackGravatar Joey Hess2015-05-31
|