summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* removed all uses of undefined from code baseGravatar Joey Hess2015-04-19
| | | | It's a code smell, can lead to hard to diagnose error messages.
* forgot to add theseGravatar Joey Hess2015-04-18
|
* required: New command, like wanted, but for required content.Gravatar Joey Hess2015-04-18
| | | | Also refactored some code to reduce duplication.
* fsck --from remote: Avoid downloading a key if it would go over the ↵Gravatar Joey Hess2015-04-18
| | | | annex.diskreserve limit.
* fsck --from remote: When bad content is found in the remote, and the local ↵Gravatar Joey Hess2015-04-18
| | | | repo does not have a copy of the content, preserve the bad content in .git/annex/bad/ to avoid further data loss.
* info: Added --bytes option.Gravatar Joey Hess2015-04-12
|
* info dir: Added information about repositories that contain files in the ↵Gravatar Joey Hess2015-04-12
| | | | | | | | | | | specified directory. This is a nearly free feature; it piggybacks on the location log lookups done for the numcopies stats. So, the only extra overhead is updating the map of repository sizes. However, I had to switch to Data.Map.Strict, which needs containers 0.5. If backporting to wheezy, will probably need to revert this commit.
* unused importGravatar Joey Hess2015-04-10
|
* contentlocationn: New plumbing command.Gravatar Joey Hess2015-04-09
|
* importfeed: Error out when passed a non-url.Gravatar Joey Hess2015-04-09
|
* importfeed: Fix feed download when curl is used.Gravatar Joey Hess2015-04-09
| | | | | This bug used to only afflict file:/// urls, but became more exposed by b1483ee577dded9e00f8d82d52a806ee02888b2c.
* info: Display repository mode: bare when in a bare (non-direct mode) repo.Gravatar Joey Hess2015-04-09
|
* proxy: Made it work when run in a new repository before initial commit.Gravatar Joey Hess2015-04-09
|
* wordingGravatar Joey Hess2015-04-08
|
* add: If annex.largefiles is set and does not match a file that's being ↵Gravatar Joey Hess2015-04-08
| | | | added, the file will be checked into git rather than being added to the annex. Previously, git annex add skipped over such files; this new behavior is more useful in direct mode.
* fromkey, registerurl: When reading from stdin, allow the filename and url, ↵Gravatar Joey Hess2015-04-07
| | | | respectively, to contain whitespace.
* expire --no-actGravatar Joey Hess2015-04-05
|
* info remove: show trust levelGravatar Joey Hess2015-04-05
|
* rethought distributed fsck; instead add activity.log and expire commandGravatar Joey Hess2015-04-05
| | | | This is much more space efficient!
* rename bothHandles -> ioHandlesGravatar Joey Hess2015-04-03
|
* Steer towards deduplicationGravatar Jean Jordaan2015-04-03
|
* version: Add --rawGravatar Joey Hess2015-04-02
|
* remove unused paramGravatar Joey Hess2015-04-01
|
* fsck: Added --distributed and --expire options, for distributed fsck.Gravatar Joey Hess2015-04-01
|
* import: --deduplicate and --cleanduplicates now output the keys ↵Gravatar Joey Hess2015-03-31
| | | | corresponding to duplicated files they process.
* addurl --file: When used with a special remote that claims urls and checks ↵Gravatar Joey Hess2015-03-31
| | | | their contents, don't override the user's provided filename with filenames that the special remote suggests. Also, don't allow adding the url if the special remote says it contains multiple files.
* 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
|