summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* on second thought, InodeCache should use getFileSizeGravatar Joey Hess2015-01-20
| | | | | | | | This is necessary for interop between inode caches created on unix and windows. Which is more important than supporting inodecaches for large keys with the wrong size, which are broken anyway. There should be no slowdown from this change, except on Windows.
* add getFileSize, which can get the real size of a large file on WindowsGravatar Joey Hess2015-01-20
| | | | | | | | | | | | | | Avoid using fileSize which maxes out at just 2 gb on Windows. Instead, use hFileSize, which doesn't have a bounded size. Fixes support for files > 2 gb on Windows. Note that the InodeCache code only needs to compare a file size, so it doesn't matter it the file size wraps. So it has been left as-is. This was necessary both to avoid invalidating existing inode caches, and because the code passed FileStatus around and would have become more expensive if it called getFileSize. This commit was sponsored by Christian Dietrich.
* Fix wording of message displayed when unable to get a file that is available ↵Gravatar Joey Hess2015-01-16
| | | | in untrusted repositories.
* devblogGravatar Joey Hess2015-01-13
|
* implemented old Richih wishlist about remote/uuid infoGravatar Joey Hess2015-01-13
| | | | | | | | * info: Can now display info about a given uuid. * Added to remote/uuid info: Count of the number of keys present on the remote, and their size. This is rather expensive to calculate, so comes last and --fast will disable it. * Git remote info now includes the date of the last sync with the remote.
* revert parentDir changeGravatar Joey Hess2015-01-09
| | | | | | | | Reverts 2bba5bc22d049272d3328bfa6c452d3e2e50e86c Unfortunately, this caused breakage on Windows, and possibly elsewhere, because parentDir and takeDirectory do not behave the same when there is a trailing directory separator.
* handle sync's use of setCurrentDirectory to work with relative pathsGravatar Joey Hess2015-01-06
| | | | | | I think this is the last problimatic setCurrentDirectory. I also audited for extrnal commands that git-annex might run with cwd = foo, and did not find any that were passed any FilePath that might be absolute.
* Merge branch 'master' into relativepathsGravatar Joey Hess2015-01-06
|\
| * fix view generation code to work when run in a subdirectory; no longer needs ↵Gravatar Joey Hess2015-01-06
| | | | | | | | to setCurrentDirectory to top of repo
* | Merge branch 'master' into relativepathsGravatar Joey Hess2015-01-06
|\| | | | | | | | | | | Conflicts: Locations.hs debian/changelog
| * made parentDir return a Maybe FilePath; removed most uses of itGravatar Joey Hess2015-01-06
| | | | | | | | | | | | | | | | parentDir is less safe than takeDirectory, especially when working with relative FilePaths. It's really only useful in loops that want to terminate at / This commit was sponsored by Audric SCHILTKNECHT.
* | Switch to using relative paths to the git repository.Gravatar Joey Hess2015-01-06
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the git repository to be moved while git-annex is running in it, with fewer problems. On Windows, this avoids some of the problems with the absurdly small MAX_PATH of 260 bytes. In particular, git-annex repositories should work in deeper/longer directory structures than before. See http://git-annex.branchable.com/bugs/__34__git-annex:_direct:_1_failed__34___on_Windows/ There are several possible ways this change could break git-annex: 1. If it changes its working directory while it's running, that would be Bad News. Good news everyone! git-annex never does so. It would also break thread safety, so all such things were stomped out long ago. 2. parentDir "." -> "" which is not a valid path. I had to fix one instace of this, and I should probably wipe all calls to parentDir out of the git-annex code base; it was never a good idea. 3. Things like relPathDirToFile require absolute input paths, and code assumes that the git repo path is absolute and passes it to it as-is. In the case of relPathDirToFile, I converted it to not make this assumption. Currently, the test suite has 16 failures.
* sync: Fix an edge case where syncing in a bare repository would try to merge ↵Gravatar Joey Hess2015-01-05
| | | | | | | | and so fail. In the case where a remote of the bare repo has a fetch = configuration, refs/remotes/origin/master will exist, and so the merge code path tried to run in the bare repo.
* Avoid re-checksumming when migrating from hash to hashE backend. Closes: #774494Gravatar Joey Hess2015-01-04
|
* unlock: Don't allow unlocking files that have never been committed to git beforeGravatar Joey Hess2015-01-02
| | | | | Avoids an intractable problem that prevents the pre-commit hook from telling if such a file is intended to be an annexed file or not.
* cleanupGravatar Joey Hess2014-12-29
|
* setpresentkey: A new plumbing-level command.Gravatar Joey Hess2014-12-29
|
* fix addurl behavior when location and url logs are inconsistentGravatar Joey Hess2014-12-29
| | | | | | | | | | | | | | | | | The url log could have an url for a key, while the location log thinks it's not present in the web. In this case, addurl --file url would not do anything. Fixed it to re-add the web as a location. I don't know how this situation could arise, but I saw it in the wild in the conference_proceedings repo, affecting key URL-s17806003--http://mirror.linux.org.au/pub/linux.conf.au/2014/Wednesday/53-Building_Effective_Alliances_around_the_Trans-Pacific_Partnershi-c0505b631127ccc67e38e637344d988e Investigating the presence log, it looked like that key was originally listed as present in the web, then in commit 56abf9e9f3e691ed9d83513037d4019313321ca3 someone else's git-annex set it and some other things to not present in the web. It would be interesting to know what that user did, but I doubt I'll be able to find out. All I can tell from this investigation is that the inconsistency was not introduced when originally addurl-ing the url.
* sync: Now supports remote groups, the same way git remote update does.Gravatar Joey Hess2014-12-29
|
* vicfg: Avoid crashing on badly encoded config data.Gravatar Joey Hess2014-12-22
|
* fix temp uriGravatar Joey Hess2014-12-17
| | | | should be the loguri
* move dummy uuids to Annex.UUIDGravatar Joey Hess2014-12-17
|
* use right uuid when not downloading from web remoteGravatar Joey Hess2014-12-16
|
* truncate each compontent of pathGravatar Joey Hess2014-12-11
|
* truncate over-long pathsGravatar Joey Hess2014-12-11
|
* sanitize filepaths provided by checkUrlGravatar Joey Hess2014-12-11
|
* better wordGravatar Joey Hess2014-12-11
|
* importfeed: Support for downloading urls claimed by remotesGravatar Joey Hess2014-12-11
|
* reorgGravatar Joey Hess2014-12-11
|
* use subdir for addurl when it creates multiple filesGravatar Joey Hess2014-12-11
| | | | The --file parameter specifies the subdir in this mode.
* addurl on an existing file that already has the url should succeed, not failGravatar Joey Hess2014-12-11
|
* Expand checkurl to support recommended filename, and multi-file-urlsGravatar Joey Hess2014-12-11
| | | | This commit was sponsored by an anonymous bitcoiner.
* Revert "let url claims optionally include a suggested filename"Gravatar Joey Hess2014-12-11
| | | | | | This reverts commit bc0bf97b20c48e1d1a35d25e2e76a311c102438c. Putting filename in the claim was a bad idea.
* add missing quvi ifdefGravatar Joey Hess2014-12-11
|
* let url claims optionally include a suggested filenameGravatar Joey Hess2014-12-11
|
* Urls can now be claimed by remotes. This will allow creating, for example, a ↵Gravatar Joey Hess2014-12-08
| | | | external special remote that handles magnet: and *.torrent urls.
* diffdriver: New git-annex command, to make git external diff drivers work ↵Gravatar Joey Hess2014-11-24
| | | | | | with annexed files. Closes https://github.com/datalad/datalad/issues/18
* undo commandGravatar Joey Hess2014-11-14
| | | | This commit was sponsored by Andrew Cant.
* proxy command is closer to plumbing than a general use commandGravatar Joey Hess2014-11-13
|
* remove -- handling; this is already taken care of by the getopt processingGravatar Joey Hess2014-11-13
|
* remove debug printGravatar Joey Hess2014-11-12
|
* proxy: for all your direct mode repository munging needsGravatar Joey Hess2014-11-12
| | | | | | | This allows bypassing the direct mode guard in a safe way to do all sorts of things including git revert, git mv, git checkout ... This commit was sponsored by the WikiMedia Foundation.
* pre-commit: Block partial commit of unlocked annexed file, since that left a ↵Gravatar Joey Hess2014-11-10
| | | | | | | | | | | | typechange staged in index I had hoped that the git devs could change git's handling of partial commits to not use a false index file, but seems not. So, this relies on some git internals to detect that case. The test suite has a test case added to catch it if changes to git break it. This commit was sponsored by Paul Tagliamonte.
* commentGravatar Joey Hess2014-11-03
|
* info: avoid strange display of here repo when it has NoUUIDGravatar Joey Hess2014-10-28
| | | | This happens when info is run in a git repo before git annex init.
* add per-remote-type infoGravatar Joey Hess2014-10-21
| | | | | | | | | | Now `git annex info $remote` shows info specific to the type of the remote, for example, it shows the rsync url. Remote types that support encryption or chunking also include that in their info. This commit was sponsored by Ævar Arnfjörð Bjarmason.
* info: When passed the name or uuid of a remote, displays info about that remote.Gravatar Joey Hess2014-10-21
| | | | | | No per-remote-type info yet. This commit was sponsored by Stanley Yamane.
* info: When run on a single annexed file, displays some info about the file, ↵Gravatar Joey Hess2014-10-21
| | | | including its key and size.
* simplify usage displayGravatar Joey Hess2014-10-21
| | | | | | | | This avoids making the parameters column quite wide, which caused descriptions of other commands to not fit in 80 cols in the usage display. FIELD=VALUE is a simplification, but so was the old display. The man page gives more detail.
* initremote: Don't allow creating a special remote that has the same name as ↵Gravatar Joey Hess2014-10-15
| | | | | | | | | an existing git remote. This is not a complete fix. For one, git remote will happily go add a remote that has the same name as an existing special remote. For another, enableremote will enable a special remote over top of an existing git remote. And, also, the webapp might.