aboutsummaryrefslogtreecommitdiff
path: root/Test.hs
Commit message (Collapse)AuthorAge
* hlintGravatar Joey Hess2014-10-09
|
* indent with tabs not spacesGravatar Joey Hess2014-10-09
| | | | | | | | | | | Found these with: git grep "^ " $(find -type f -name \*.hs) |grep -v ': where' Unfortunately there is some inline hamlet that cannot use tabs for indentation. Also, Assistant/WebApp/Bootstrap3.hs is a copy of a module and so I'm leaving it as-is.
* fix some mixed space+tab indentationGravatar Joey Hess2014-10-09
| | | | | | | | | This fixes all instances of " \t" in the code base. Most common case seems to be after a "where" line; probably vim copied the two space layout of that line. Done as a background task while listening to episode 2 of the Type Theory podcast.
* fix indentationGravatar Joey Hess2014-09-18
|
* fix display of git-annex test command name in usageGravatar Joey Hess2014-09-17
| | | | | | This needs optparse-applicative 0.10. Dropped support for 0.9 and older, but kept 0.9.1 working since autobuilders and debian testing still use it. (The display is not perfect with 0.9.1.)
* Fix build with optparse-applicative 0.10. Closes: #761484Gravatar Joey Hess2014-09-14
| | | | This also works with 0.9, and probably 0.8.
* 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.
* update for change in bup remote removalGravatar Joey Hess2014-08-06
|
* Deal with change in git 2.0 that made indirect mode merge conflict ↵Gravatar Joey Hess2014-07-11
| | | | | | | | | | resolution leave behind old files. I think this is a git behavior change, but have not checked to be sure. Conflict cruft used to look like $foo~HEAD, but now just $foo is left behind as conflict cruft. With test case.
* uninit: Avoid failing final removal in some direct mode repositories due to ↵Gravatar Joey Hess2014-07-11
| | | | | | file modes. Specifically .map files.
* add regression test case for 84ffc8f7d265c8a685c1ea081c8a8871c7ee1b44Gravatar Joey Hess2014-07-10
| | | | better late than never
* support commit.gpgsignGravatar Joey Hess2014-07-04
| | | | | | | | | | | | | | | | | | | | | Support users who have set commit.gpgsign, by disabling gpg signatures for git-annex branch commits and commits made by the assistant. The thinking here is that a user sets commit.gpgsign intending the commits that they manually initiate to be gpg signed. But not commits made in the background, whether by a deamon or implicitly to the git-annex branch. gpg signing those would be at best a waste of CPU and at worst would fail, or flood the user with gpg passphrase prompts, or put their signature on changes they did not directly do. See Debian bug #753720. Also makes all commits done by git-annex go through a few central control points, to make such changes easier in future. Also disables commit.gpgsign in the test suite. This commit was sponsored by Antoine Boegli.
* export CreateProcess fields from Utility.ProcessGravatar Joey Hess2014-06-10
| | | | update code to avoid cwd and env redefinition warnings
* replace (Key, Backend) with KeyGravatar Joey Hess2014-04-17
| | | | | | | | | | Only fsck and reinject and the test suite used the Backend, and they can look it up as needed from the Key. This simplifies the code and also speeds it up. There is a small behavior change here. Before, all commands would warn when acting on an annexed file with an unknown backend. Now, only fsck and reinject show that warning.
* add new testGravatar Joey Hess2014-04-12
|
* fix build with new optparse-applicative releaseGravatar Joey Hess2014-03-20
|
* Windows: Fix some filename encoding bugs.Gravatar Joey Hess2014-03-19
| | | | | | http://git-annex.branchable.com/bugs/Unicode_file_names_ignored_on_Windows/ Not a complete fix yet.
* factored out a generic MapLog from uuid-based logsGravatar Joey Hess2014-03-15
| | | | UUIDBased is just a MapLog with a UUID for the field.
* more conflict resolution testsGravatar Joey Hess2014-03-04
|
* sync: Automatically resolve merge conflict between and annexed file and a ↵Gravatar Joey Hess2014-03-04
| | | | | | | | | | | | | | | | | | | regular git file. This is a new feature, it was not handled before, since it's a bit of an edge case. However, it can be handled exactly the same as a file/dir conflict, just leave the non-annexed item alone. While implementing this, the core resolveMerge' function got a lot simpler and clearer. Note especially that where before there was an asymetric call to stagefromdirectmergedir, now graftin is called symmetrically in both cases. And, in order to add that `graftin us`, the current branch needed to be known (if there is no current branch, there cannot be a merge conflict). This led to some cleanups of how autoMergeFrom behaved when there is no current branch. This commit was sponsored by Philippe Gauthier.
* add test case for merge conflict resolution between annexed and in-git fileGravatar Joey Hess2014-03-04
|
* added test for conflict resolution with a file that is both deleted and modifiedGravatar Joey Hess2014-03-04
|
* fix test case to convert slashes for DOSGravatar Joey Hess2014-03-04
|
* much improved test and real fix for FAT symlink loss on conflicted mergeGravatar Joey Hess2014-03-04
| | | | | | | | | | | I think that f5ce1a15d7a35b85ffa938ee950f4749bf445939 didn't quite manage to actually fix the bug, although I have not checked since its "fix" got redone. The test suite now actually checks the file staged in git is a symlink, rather than relying on the bug casing a later sync failure. This seems a more reliable way to detect it, and probably avoids a heisenbug in the test suite.
* improved test for FAT symlink regressionsGravatar Joey Hess2014-03-04
| | | | | The test case that was supposed to cover this did not.. It is for some other bug, which is apparently a bit of a heisenbug.
* fix environment propigation in windows test suiteGravatar Joey Hess2014-03-04
| | | | Let through HOME, etc when running git-annex from test suite.
* add test cases for the new direct mode merge bugGravatar Joey Hess2014-03-04
|
* change directory encoding in ViewedFile such that the original directory can ↵Gravatar Joey Hess2014-02-22
| | | | be extracted from it
* add git annex view commandGravatar Joey Hess2014-02-18
| | | | | | | | | | | | | | | | | | (And a vpop command, which is still a bit buggy.) Still need to do vadd and vrm, though this also adds their documentation. Currently not very happy with the view log data serialization. I had to lose the TDFA regexps temporarily, so I can have Read/Show instances of View. I expect the view log format will change in some incompatable way later, probably adding last known refs for the parent branch to View or something like that. Anyway, it basically works, although it's a bit slow looking up the metadata. The actual git branch construction is about as fast as it can be using the current git plumbing. This commit was sponsored by Peter Hogg.
* add another quickcheck property, and several edge cases handledGravatar Joey Hess2014-02-16
|
* filter branches (incomplete)Gravatar Joey Hess2014-02-16
| | | | | | | | Promosing work toward metadata driven filter branches. A few methods to construct them are stubbed out; all the data types and pure code seems good. This commit was sponsored by Walter Somerville.
* fix metadata log simplifier and additional quickcheck testsGravatar Joey Hess2014-02-12
|
* data types and serialization for metadataGravatar Joey Hess2014-02-12
| | | | | | | A very haskell commit! Just data types, instances to serialize the metadata to a nice format, and QuickCheck tests. This commit was sponsored by Andreas Leha.
* more hlintGravatar Joey Hess2014-02-11
|
* use nukefile rather than shelling to rmGravatar Joey Hess2014-02-10
|
* eliminating absNormPathGravatar Joey Hess2014-02-07
| | | | | | | | | | | | | | | | git-annex has been using MissingH's `abdNormPath` forever, but that's unmaintained and possibly buggy, and doesn't work on Windows. I've been wanting to get rid of it for some time, and finally did today, writing a `simplifyPath` that does the things git-annex needs and will work with all the Windows filename craziness, and takes advantage of the more modern System.FilePath to be quite a simple peice of code. A QuickCheck test found no important divergences from absNormPath. A good first step to making git-annex not depend on MissingH at all. And it fixed some weird behaviors on Windows like `git annex add ..\subdir\file` not working. Note that absNormPathUnix has been left alone for now.
* add regression test for symlink calculationGravatar Joey Hess2014-02-06
| | | | | Note: Test reordered because running git-annex sync early broke the environment for some other tests.
* add test case & fix conflict resolution bug on Windows & FATGravatar Joey Hess2014-02-04
| | | | | | | | | | | | | | | Fix bug in automatic merge conflict resolution code when used on a filesystem not supporting symlinks, which resulted in it losing track of the symlink bit of annexed files. This was the underlying bug that was causing another test to fail, which got worked around in f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d. I've chosen to keep 2 separate test cases since the old test case only detected the problem accidentially. Test suite passes on FAT & in windows, as well as on proper unix systems. This commit was sponsored by Ellis Whitehead.
* narrowing test caseGravatar Joey Hess2014-02-04
|
* add test case for windows sync push failureGravatar Joey Hess2014-02-04
| | | | | | This adds a test for a failure mode seemingly specific to Windows that was removed in f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d, and puts it in its own test case.
* set up git email config in clone repos too when running testGravatar Joey Hess2014-02-04
| | | | | | | | | This fixes the problem of the environment variables apparently not being seen on Windows. I could probably remove the setting of the env vars from Test.hs now as this covers it better. Note that outside the test suite, git-annex on windows seems to manage to configure the repo so commits work on its own.
* fix broken testGravatar Joey Hess2014-02-03
| | | | | | f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d broke the mixed conflict resolution test. Since origin is no longer involved, both sides have to sync after pairing. (The sync before pairing is just to get a commit.)
* fix reversion on repo deletionGravatar Joey Hess2014-02-03
| | | | A broken symlink would cause the mode setting to fail.
* improve failure messageGravatar Joey Hess2014-02-03
|
* fix test suite to pass on windowsGravatar Joey Hess2014-02-03
| | | | | | | On windows, the sync of the second cloned repo to origin failed, because synced/master was a non-fast-forward. This may be a bug of its own, but it's not the issue that this test was intended to test, so disconnect the repos from origin before syncing.
* try harder to delete test dir on windowsGravatar Joey Hess2014-02-03
|
* Windows: Fix deletion of repositories by test suite and webapp.Gravatar Joey Hess2014-02-03
| | | | | | On Windows, a file that is not writable cannot be deleted even if in a directory with write perms. So git object files were not getting deleted when removing a git repository.
* Windows: Avoid using unix-compat's rename, which refuses to rename directories.Gravatar Joey Hess2014-01-29
| | | | Opened a bug about this: https://github.com/jystic/unix-compat/issues/10
* Revert "temporarily revert tasty-rerun support for this release"Gravatar Joey Hess2014-01-27
| | | | This reverts commit 65eb61a902ecf68da69d774063fea4880f619a13.
* temporarily revert tasty-rerun support for this release5.20140127Gravatar Joey Hess2014-01-27
| | | | | | revert 852f1f6cea85a7c781c8286f459023bdacebe021 tasty-rerun is stuck in NEW in debian