summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* get, move, copy: Now refuse to do anything when the requested file transfer ↵Gravatar Joey Hess2012-07-01
| | | | | | | | | | | | | | | is already in progress by another process. Note this is per-remote, so trying to get the same file from multiple remotes can still let duplicate downloads run. (And uploading the same file to multiple remotes is not duplicate at all of course.) get, move, and copy are the only git-annex subcommands that transfer files, but there's still git-annex-shell recvkey and sendkey to deal with too. I considered modifying retrieveKeyFile or getViaTmp, but they are called by other code that does not involve expensive file transfers (migrate) or that does file transfers that should not be checked by this (fsck --from).
* releasing version 3.201206293.20120629Gravatar Joey Hess2012-06-29
|
* sync: Automatically resolves merge conflicts.Gravatar Joey Hess2012-06-27
| | | | untested, but it compiles :)
* git-config fileEncodingGravatar Joey Hess2012-06-26
| | | | | | | | | | | | Accept arbitrarily encoded repository filepaths etc when reading git config output. This fixes support for remotes with unusual characters in their names. For example, a remote with a url of /tmp/çüş was previously skipped, because the filename wasn't encoded right so it didn't think it was available. And when setting the annex-uuid of a remote named "çüş", it used to add it under a mis-encoded form of the remote's name. Both these cases now work ok in my testing.
* Got rid of the last place that did utf8 decoding.Gravatar Joey Hess2012-06-26
| | | | | Probably fixes bugs/git-annex:_Cannot_decode_byte___39____92__xfc__39__/ although I don't know how to reproduce that bug.
* Avoid ugly failure mode when moving content from a local repository that is ↵Gravatar Joey Hess2012-06-26
| | | | | | | | | | | | | | | | | | | not available. Prelude.undefined error message was introduced by bb4f31a0ee496ffb83d31cc56f8827e47605d763. It seems best to filter out local repositories that cannot be accessed from the list of remotes, rather than keeping them in and making every thing that uses the list have to deal with remotes that may have an unknown location. Besides fixing the error message, this also makes unavailable local remotes' names not be shown in various messages, including in git annex status output. Also, move --to an unavailable local repository now avoids some ugly errors like "changeWorkingDirectory: does not exist".
* Version build dependency on STM, and allow building without it, which ↵Gravatar Joey Hess2012-06-26
| | | | disables the watch command.
* cabal: Only try to use inotify on Linux.Gravatar Joey Hess2012-06-25
|
* releasing version 3.201206243.20120624Gravatar Joey Hess2012-06-24
|
* sync: Avoid recent git's interactive merge.Gravatar Joey Hess2012-06-23
|
* demote lsofGravatar Joey Hess2012-06-21
| | | | not available on kfreebsd, and only used by watch
* typoGravatar Joey Hess2012-06-20
|
* Merge branch 'master' into watchGravatar Joey Hess2012-06-20
|\
| * unused: Fix crash when file names contain invalid utf8.Gravatar Joey Hess2012-06-20
| | | | | | | | | | | | Was decoding the git-cat-file of the symlink target as utf8, but that can't do, unix filenames are from the 70's and need this shiny disco fileSystemEncoding.
* | lifted out the kqueue and inotify to a generic DirWatcher interfaceGravatar Joey Hess2012-06-18
|/ | | | | Kqueue code for dispatching events is not tested and probably doesn't build.
* Enable diskfree on kfreebsd, using statvfs.Gravatar Joey Hess2012-06-17
| | | | | | Could not reproduce the build failure I had seen related to this, but the numbers were wrong with statfs64. Probably pulling from the wrong place in the structure. statvfs seems to work..
* make inotify a build flag etcGravatar Joey Hess2012-06-17
|
* check lsof at runtimeGravatar Joey Hess2012-06-16
|
* add lsof build depsGravatar Joey Hess2012-06-15
| | | | | Check for it in configure; and add a --force option for people without it who want to live dangerously.
* Merge branch 'master' into watchGravatar Joey Hess2012-06-15
|\
| * releasing version 3.201206143.20120614Gravatar Joey Hess2012-06-14
| |
| * addurl: Was broken by a typo introduced 2 released ago, now fixed. Closes: ↵Gravatar Joey Hess2012-06-14
| | | | | | | | #677576
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-12
|\| | | | | | | | | | | Conflicts: debian/changelog git-annex.cabal
| * Install man page when run by cabal, in a location where man will find it, ↵Gravatar Joey Hess2012-06-12
| | | | | | | | even when installing under $HOME. Thanks, Nathan Collins
* | Revert "Build with ghc's threaded runtime, so threaded code does not busy-wait."Gravatar Joey Hess2012-06-11
| | | | | | | | | | | | This reverts commit 129f6123fe933310829986fd5a99a9fd6911ca0f. Saw hang during batch add with -threaded, so deferred for now.
* | Build with ghc's threaded runtime, so threaded code does not busy-wait.Gravatar Joey Hess2012-06-11
| | | | | | | | Sort of a work around for http://bugs.debian.org/677096
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-11
|\| | | | | | | | | Conflicts: debian/changelog
| * uninit: Refuse to run in a subdirectory. Closes: #677076Gravatar Joey Hess2012-06-11
| |
* | smart commit threadGravatar Joey Hess2012-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit thread now has access to a channel containing the times of all uncommitted changes. This lets it be smart about detecting busy times when a batch job is running (such as rm -rf, or untarring something, etc), and avoid committing until it's done. While at the same time, instantly committing one-off changes that the user is going to expect to see immediately. I had to use STM to implement the channel, because of http://hackage.haskell.org/trac/ghc/ticket/4154 While this adds a dependency, I always wanted to use STM, so this actually makes me happy. ;) Also happy that shouldCommit is a pure function, so other commit smartness strategies can easily be played with. Although the current one seems pretty good. There is one bug, for some reason it does double commits, every time.
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-07
|\|
| * initremote: Automatically describe a remote when creating it.Gravatar Joey Hess2012-06-07
| | | | | | | | | | | | | | This ensures that all special remotes show up in git annex status. Before, a special remote that was not manually described, and was not a current git remote, did not show up there, although initremote did list it.
* | document watchGravatar Joey Hess2012-06-06
| |
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-05
|\|
| * add: Prevent (most) modifications from being made to a file while it is ↵Gravatar Joey Hess2012-06-05
| | | | | | | | | | | | | | | | | | | | | | being added to the annex. Anything that tries to open the file for write, or delete the file, or replace it with something else, will not affect the add. Only if a process has the file open for write before add starts can it still change it while (or after) it's added to the annex. (fsck will catch this later of course)
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-05
|\|
| * releasing version 3.201206053.20120605Gravatar Joey Hess2012-06-05
| |
| * Preserve parent environment when running hooks of the hook special remote.Gravatar Joey Hess2012-06-04
| |
* | add hinotify dependenciesGravatar Joey Hess2012-06-04
|/
* Require that the SHA256 backend can be used when building, since it's the ↵Gravatar Joey Hess2012-05-31
| | | | default.
* Fix display of warning message when encountering a file that uses an ↵Gravatar Joey Hess2012-05-31
| | | | unsupported backend.
* import: New subcommand, pulls files from a directory outside the annex and ↵Gravatar Joey Hess2012-05-31
| | | | | | adds them Use case for this was developed somewhere on the Transiberian Railroad.
* lock: Reset unlocked file to index, rather than to branch head.Gravatar Joey Hess2012-05-30
| | | | | | | | Resetting an unlocked file to the branch head failed if it had just been added, not committed, and unlocked, since the branch didbn't have it. The code was concerned about dropping any changes that might be staged in the index, but I cannot see why.
* sync: Show a nicer message if a user tries to sync to a special remote.Gravatar Joey Hess2012-05-27
|
* releasing version 3.201205223.20120522Gravatar Joey Hess2012-05-22
|
* Add support for core.worktree, and fix support for GIT_WORK_TREE and GIT_DIR.Gravatar Joey Hess2012-05-18
| | | | | | | The environment needs to override git-config. Changed when git config is read, and avoid rereading it once it's been read. chdir for both worktree settings.
* Clean up handling of git directory and git worktree.Gravatar Joey Hess2012-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Baked into the code was an assumption that a repository's git directory could be determined by adding ".git" to its work tree (or nothing for bare repos). That fails when core.worktree, or GIT_DIR and GIT_WORK_TREE are used to separate the two. This was attacked at the type level, by storing the gitdir and worktree separately, so Nothing for the worktree means a bare repo. A complication arose because we don't learn where a repository is bare until its configuration is read. So another Location type handles repositories that have not had their config read yet. I am not entirely happy with this being a Location type, rather than representing them entirely separate from the Git type. The new code is not worse than the old, but better types could enforce more safety. Added support for core.worktree. Overriding it with -c isn't supported because it's not really clear what to do if a git repo's config is read, is not bare, and is then overridden to bare. What is the right git directory in this case? I will worry about this if/when someone has a use case for overriding core.worktree with -c. (See Git.Config.updateLocation) Also removed and renamed some functions like gitDir and workTree that misused git's terminology. One minor regression is known: git annex add in a bare repository does not print a nice error message, but runs git ls-files in a way that fails earlier with a less nice error message. This is because before --work-tree was always passed to git commands, even in a bare repo, while now it's not.
* Pass -a to cp even when it supports --reflink=auto, to preserve permissions.Gravatar Joey Hess2012-05-15
| | | | | | Amoung other things, this makes unlocking a WORM backed file and then re-adding it without making any changes not add a new object, as the timestamp is preserved.
* releasing version 3.201205113.20120511Gravatar Joey Hess2012-05-11
|
* add a faviconGravatar Joey Hess2012-05-10
|
* formatGravatar Joey Hess2012-05-07
|