summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
...
* importfeed: Avoid downloading a redundant item from a feed whose guid has ↵Gravatar Joey Hess2015-03-31
| | | | | | | been downloaded before, even when the url has changed. To support this, always store itemid in metadata; before this was only done when annex.genmetadata was set.
* --auto is no longer a global option; only get, drop, and copy accept it.Gravatar Joey Hess2015-03-25
| | | | Not a behavior change unless you were passing it to a command that ignored it.
* a few command usage fixesGravatar Joey Hess2015-03-25
|
* Man pages for individual commands now available, and can be opened using ↵Gravatar Joey Hess2015-03-23
| | | | "git annex help <command>"
* splitting up the man pageGravatar Joey Hess2015-03-23
| | | | | | | | Common command man pages all split out and often expanded. A few sections split out into their own pages. Still need to do all the other commands..
* migrate: --force will force migration of keys already using the destination ↵Gravatar Joey Hess2015-03-23
| | | | backend. Useful in rare cases.
* checkpresentkey: New plumbing command to check if a key can be verified to ↵Gravatar Joey Hess2015-03-20
| | | | be present on a remote.
* readpresentkey: New plumbing command for checking location log.Gravatar Joey Hess2015-03-20
|
* registerurl: New plumbing command for mass-adding urls to keys.Gravatar Joey Hess2015-03-15
|
* fromkey: Add stdin mode.Gravatar Joey Hess2015-03-15
|
* fromkey --force: Skip test that the key has its content in the annex.Gravatar Joey Hess2015-03-15
|
* addurl: Added --raw option, which bypasses special handling of quvi, ↵Gravatar Joey Hess2015-03-05
| | | | bittorrent etc urls.
* sync: Fix committing when in a direct mode repo that has no HEAD ref.Gravatar Joey Hess2015-03-04
| | | | | | | | Seen for example, a newly checked out git submodule. In this case, .git/HEAD is a raw sha, rather than the usual reference to a ref. Removed currentSha in passing, since it was a more roundabout way of doing what headSha does, and headSha is more robust.
* fix innaccurate commentGravatar Joey Hess2015-03-04
|
* When re-execing git-annex, use current program location, rather than ↵Gravatar Joey Hess2015-02-28
| | | | | | | | | | | | | | | | | | ~/.config/git-annex/program, when possible. Most of the time, there will be no discreprancy between programPath and readProgramFile. But, the programFile might have been written by an old version of git-annex that is still installed, while a newer one is currently running. In this case, we want to run the same one that's currently running. This is especially important for things like the GIT_SSH=git-annex used for ssh connection caching. The only code that still uses readProgramFile directly is the upgrade code, which needs to know where the standalone git-annex was installed, in order to upgrade it.
* sync: As well as the synced/git-annex push, attempt a git-annex:git-annex ↵Gravatar Joey Hess2015-02-27
| | | | | | | | | | | push, as long as the remote branch is an ancestor of the local branch, to better support bare git repos. See my comment in the bug report for analysis; basically this is safe because it's a non-forced push, so won't lose history. Even if it was a forced push or somehow races, things will eventually become consistent and no git-annex branch info will be lost. (This used to be done, but it forgot to do it since version 4.20130909.)
* unannex: Refuse to unannex when repo is too new to have a HEADGravatar Joey Hess2015-02-25
| | | | | | In this case there must be staged changes in the index (if there is anything to unannex), and the unannex code path needs to run with a clean index.
* fsck: Multiple incremental fscks of different repos (some remote) can now be ↵Gravatar Joey Hess2015-02-17
| | | | in progress at the same time in the same repo without it getting confused about which files have been checked for which remotes.
* avoid crash when starting fsck --incremental when one is already runningGravatar Joey Hess2015-02-17
| | | | | | | | | | | Turns out sqlite does not like having its database deleted out from underneath it. It might suffice to empty the table, but I would rather start each fsck over with a new database, so I added a lock file, and running incremental fscks use a shared lock. This leaves one concurrency bug left; running two concurrent fsck --more will lead to: "SQLite3 returned ErrorBusy while attempting to perform step." and one or both will fail. This is a concurrent writers problem.
* commit new transaction after 60 secondsGravatar Joey Hess2015-02-16
| | | | | | | | | | | | | | Database.Handle can now be given a CommitPolicy, making it easy to specify transaction granularity. Benchmarking the old git-annex incremental fsck that flips sticky bits to the new that uses sqlite, running in a repo with 37000 annexed files, both from cold cache: old: 6m6.906s new: 6m26.913s This commit was sponsored by TasLUG.
* commit more transactions when fsckingGravatar Joey Hess2015-02-16
| | | | | | This makes interrupt and resume work, robustly. But, incremental fsck is slowed down by all those transactions..
* convert incremental fsck to using sqlite databaseGravatar Joey Hess2015-02-16
| | | | | | | | | | | | | | | | | Did not keep backwards compat for sticky bit records. An incremental fsck that is already in progress will start over on upgrade to this version. This is not yet ready for merging. The autobuilders need to have sqlite installed. Also, interrupting a fsck --incremental does not commit the database. So, resuming with fsck --more restarts from beginning. Memory: Constant during a fsck of tens of thousands of files. (But, it does seem to buffer whole transation in memory, so may really scale with number of files.) CPU: ?
* propigate ssh-options everywhere ssh caching is usedGravatar Joey Hess2015-02-12
| | | | | | | | | * sync: Use the ssh-options git config when doing git pull and push. * remotedaemon: Use the ssh-options git config. Note that the rename env var means that if a new git-annex calls an old one for git-annex ssh, or a new calls an old, nothing much will go wrong; just ssh caching won't happen.
* fix compile warningGravatar Joey Hess2015-02-12
|
* sync, assistant: Include repository name in head branch commit message.Gravatar Joey Hess2015-02-11
| | | | | | Note that while the assistant detects changes made to remote names, I left the commit message fixed rather than calculating it after every commit. It doesn't seem worth the CPU to do the latter.
* metadata: When setting metadata, do not recurse into directories by default, ↵Gravatar Joey Hess2015-02-10
| | | | since that can be surprising behavior and difficult to recover from. The old behavior is available by using --force.
* fsck --from: If a download from a remote fails, propigate the failure.Gravatar Joey Hess2015-02-10
|
* webapp: Fix reversion in opening webapp when starting it manually inside a ↵Gravatar Joey Hess2015-02-09
| | | | repository.
* better option handlingGravatar Joey Hess2015-02-08
| | | | At least it avoids the big truth table lookup
* import: Avoid checksumming file twice when run in the default or --duplicate ↵Gravatar Joey Hess2015-02-08
| | | | | | | | | mode. --deduplicate, --skip-duplicates, and --clean-duplicates still checksum the file twice, the first time to determine if it's a duplicate. This cannot be easily merged with the checksumming done to add the file, since the file needs to be locked down before that second checksum is taken.
* The file matching options are now only accepted by commands that can ↵Gravatar Joey Hess2015-02-06
| | | | actually use them.
* groupwanted: New command to set the groupwanted preferred content expression.Gravatar Joey Hess2015-02-06
|
* Revert "avoid using MissingH's HVFS layer"Gravatar Joey Hess2015-01-28
| | | | | | | | This reverts commit 961b5d4d997999485e7b696416574cd0f8663f88. This broke unit and test suite cleanup. The difference is that dirContentsRecursive only returns files, but this needs to also operate on directories.
* implement annex.tune.branchhash1Gravatar Joey Hess2015-01-28
| | | | | | | | I hope this doesn't impact speed much -- it does have to pull out a value from Annex state every time it accesses the branch now. The test case I dropped has never caught any problems that I can remember, and would have been rather difficult to convert.
* groundwork for parameterizing hash depthGravatar Joey Hess2015-01-28
|
* Repository tuning parameters can now be passed when initializing a ↵Gravatar Joey Hess2015-01-27
| | | | | | | | | | repository for the first time. * init: Repository tuning parameters can now be passed when initializing a repository for the first time. For details, see http://git-annex.branchable.com/tuning/ * merge: Refuse to merge changes from a git-annex branch of a repo that has been tuned in incompatable ways.
* remove unused paramGravatar Joey Hess2015-01-27
|
* remove debug printGravatar Joey Hess2015-01-23
|
* addurl: When a Content-Disposition header suggests a filename to use, addurl ↵Gravatar Joey Hess2015-01-22
| | | | will consider using it, if it's reasonable and doesn't conflict with an existing file. (--file overrides this)
* avoid using MissingH's HVFS layerGravatar Joey Hess2015-01-21
|
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* 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