summaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* add: Fix rollback when disk is completely full.Gravatar Joey Hess2014-01-05
| | | | | | | | Noticed that it was possible for add to move a file to .git/annex/objects and not make the link if the disk was full. This happened because the location log update failed, and so addLink never got a chance to run. Running addLink first fixes it; on error it will unwind by moving the file back to where it was originally.
* fix form of quvi urlGravatar Joey Hess2014-01-05
|
* check if quvi page url has already been downloaded beforeGravatar Joey Hess2014-01-05
| | | | | | That is the url that is typically stored in the git-annex branch. Kept the check for the video url too, just in case.
* also check diskreserve for quvi downloadsGravatar Joey Hess2014-01-04
|
* addurl, importfeed: Honor annex.diskreserve as long as the size of the url ↵Gravatar Joey Hess2014-01-04
| | | | | | | | can be checked. This adds a http HEAD before the download is done. That was already the case when the assistant was running, and it seems worth it to avoid filling up the whole disk, like happened to my server today.
* wanted, schedule: Avoid printing "ok" after requested value.Gravatar Joey Hess2014-01-03
|
* Remotes can now be made read-only, by setting remote.<name>.annex-readonlyGravatar Joey Hess2014-01-02
|
* mirror: Support --all (and --unused).Gravatar Joey Hess2014-01-01
|
* importfeed: Support youtube playlists.Gravatar Joey Hess2013-12-29
|
* Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a ↵Gravatar Joey Hess2013-12-29
| | | | problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done.
* update commentGravatar Joey Hess2013-12-19
|
* Add plumbing-level lookupkey examinekey command.Gravatar Joey Hess2013-12-15
| | | | | find --format: Added hashdirlower, hashdirmixed, keyname, and mtime format variables.
* Add plumbing-level lookupkey command.Gravatar Joey Hess2013-12-15
|
* pull in Win32-extras, to be able to get current process id in WindowsGravatar Joey Hess2013-12-11
| | | | | | | | | Fixed up a number of things that had worked around there not being a way to get that. Most notably, transfer info files on windows now include the process id, since no locking is currently done. This means the file format varies between windows and unix.
* port transferkeys to windows; make stopping in progress transfers work too ↵Gravatar Joey Hess2013-12-10
| | | | | | | | | | | | | | | (probably) transferkeys had used special FDs for communication, but that would be quite annoying to do in Windows. Instead, use stdin and stdout. But, to avoid commands like rsync stomping on them and messing up the communications channel, they're duplicated to a different handle; stdin is replaced with a null handle, and stdout is replaced with a copy of stderr. This should all work in windows too. Stopping in progress transfers may work on windows.. if the types unify anyway. ;) May need some more porting.
* repair: Remove damaged git-annex sync branches.Gravatar Joey Hess2013-12-10
|
* Improve repair of git-annex index file.Gravatar Joey Hess2013-12-10
| | | | | | | | | | Fixes a test case I received where a corrupted repo was repaired, but the git-annex branch was not. The root of the problem was that the MissingObject returned by the repair code was not necessarily a complete set of all objects that might have been deleted during the repair. So, stop trying to return that at all, and instead make the index file checking code explicitly verify that each object the index uses is present.
* better handling of overwriting an existing file/directory/broken link when ↵Gravatar Joey Hess2013-12-09
| | | | | | | | | importing Previous test did not notice if there is a dangling symlink. Also, if a directory exists with the same name as the imported file, that cannot work, so don't let --force have an effect.
* lock: Require --force.Gravatar Joey Hess2013-12-05
|
* import: Add --skip-duplicates option.Gravatar Joey Hess2013-12-04
| | | | | | | Note that the hash backends were made to stop printing a (checksum..) message as part of this, since it showed up without a file when deciding whether to act on a file. Should have probably removed that message a while ago anyway, I suppose.
* copy --from, get --from: When --force is used, ignore the location log and ↵Gravatar Joey Hess2013-12-02
| | | | always try to get the file from the remote.
* better name for continuationGravatar Joey Hess2013-12-01
|
* Avoid using git commit in direct mode, since in some situations it will read ↵Gravatar Joey Hess2013-12-01
| | | | | | | | | | | | the full contents of files in the tree. The assistant's commit code also always avoids git commit, for simplicity. Indirect mode sync still does a git commit -a to catch unstaged changes. Note that this means that direct mode sync no longer runs the pre-commit hook or any other hooks git commit might call. The git annex pre-commit hook action for direct mode is however explicitly run. (The assistant already ran git commit with hooks disabled, so no change there.)
* make "git annex help options" work outside a git repoGravatar Joey Hess2013-11-30
| | | | | | Option parsing for commands that run outside git repos is still screwy, as there is no Annex monad and so the flags cannot be passed in. But, any remaining parameters can be, which is enough for this fix.
* reinject: Allow to be used in direct mode.Gravatar Joey Hess2013-11-26
|
* Bug fix: annex.version did not get set on automatic upgrade to v5 direct ↵Gravatar Joey Hess2013-11-26
| | | | mode repo, so the upgrade was performed repeatedly, slowing commands down.
* add readFileStrictAnyEncodingGravatar Joey Hess2013-11-20
|
* merge with git-repairGravatar Joey Hess2013-11-19
|
* dropunused, addunused: Allow "all" instead of a range to act on all unused data.Gravatar Joey Hess2013-11-18
|
* webapp: Check annex.version.Gravatar Joey Hess2013-11-17
|
* Direct mode .git/annex/objects directories are no longer left writableGravatar Joey Hess2013-11-15
| | | | | | | | | Because that allowed writing to symlinks of files that are not present, which followed the link and put bad content in an object location. fsck: Fix up .git/annex/object directory permissions. This commit was sponsored by an anonymous bitcoin donor.
* on second thought, don't change sync to exit nonzero on successful ↵Gravatar Joey Hess2013-11-14
| | | | | | conflicted merge resolution For one thing, that breaks the test suite. May revisit later.
* add a note after successful conflicted merge resolutionGravatar Joey Hess2013-11-14
|
* avoid using Utility.Touch without WITH_CLIBSGravatar Joey Hess2013-11-12
|
* webapp: Improve UI around remote that have no annex.uuid set, either because ↵Gravatar Joey Hess2013-11-07
| | | | | | | | setup of them is incomplete, or because the remote git repository is not a git-annex repository. Complicated by such repositories potentially being repos that should have an annex.uuid, but it failed to be gotten, perhaps due to the past ssh repo setup bugs. This is handled now by an Upgrade Repository button.
* watcher: Avoid loop when adding a file owned by someone else fails in ↵Gravatar Joey Hess2013-11-07
| | | | | | | | indirect mode because its permissions cannot be modified. Adding the file moved it to the annex, and then tried to set the mode. Error unwind then moved the file back, and so the watcher saw the file get deleted and then added back, and so tried again..
* sync: When there are merge conflicts that get automatically resolved, exit ↵Gravatar Joey Hess2013-11-07
| | | | nonzero at the end.
* no status in bare repoGravatar Joey Hess2013-11-07
|
* add new status commandGravatar Joey Hess2013-11-07
| | | | | | | | | | | | | | | This works for both direct and indirect mode. It may need some performance tuning. Note that unlike git status, it only shows the status of the work tree, not the status of the index. So only one status letter, not two .. and since files that have been added and not yet committed do not differ between the work tree and the index, they are not shown. Might want to add display of the index vs the last commit eventually. This commit was sponsored by an unknown bitcoin contributor, whose contribution as been going up lately! ;)
* rename status to info, and update docsGravatar Joey Hess2013-11-07
|
* work around lack of receive.denyCurrentBranch in direct modeGravatar Joey Hess2013-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that direct mode sets core.bare=true, git's normal prohibition about pushing into the currently checked out branch doesn't work. A simple fix for this would be an update hook which blocks the pushes.. but git hooks must be executable, and git-annex needs to be usable on eg, FAT, which lacks x bits. Instead, enabling direct mode switches the branch (eg master) to a special purpose branch (eg annex/direct/master). This branch is not pushed when syncing; instead any changes that git annex sync commits get written to master, and it's pushed (along with synced/master) to the remote. Note that initialization has been changed to always call setDirect, even if it's just setDirect False for indirect mode. This is needed because if the user has just cloned a direct mode repo, that nothing has synced with before, it may have no master branch, and only a annex/direct/master. Resulting in that branch being checked out locally too. Calling setDirect False for indirect mode moves back out of this branch, to a new master branch, and ensures that a manual "git push" doesn't push changes directly to the annex/direct/master of the remote. (It's possible that the user makes a commit w/o using git-annex and pushes it, but nothing I can do about that really.) This commit was sponsored by Jonathan Harrington.
* v5 for direct mode, with automatic upgradeGravatar Joey Hess2013-11-05
| | | | | This includes storing the current state of the HEAD ref, which git annex sync is going to need, but does not make sync use it.
* map: Work when there are gcrypt remotes.Gravatar Joey Hess2013-11-04
|
* Fix enabling of gcrypt repository accessed over ssh; git-annex-shell ↵Gravatar Joey Hess2013-11-02
| | | | gcryptsetup had a bug that caused it to fail with permission denied.
* sync: Work even when the local git repository is new and empty, with no ↵Gravatar Joey Hess2013-11-02
| | | | master branch.
* prune unused importGravatar Joey Hess2013-11-01
|
* use a long note hereGravatar Joey Hess2013-11-01
|
* unannex: New, much slower, but more safe behaviorGravatar Joey Hess2013-10-28
| | | | | | | | | | | | Copies files out of the annex. This avoids an unannex of one file breaking other files that link to the same content. Also, it means that the content remains in the annex using up space until cleaned up with "git annex unused". (The behavior of unannex --fast has not changed; it still hard links to content in the annex. --fast was not made the default because it is potentially unsafe; editing such a hard linked file can unexpectedly change content stored in the annex.)
* more clear labelsGravatar Joey Hess2013-10-28
|
* rename "known annex keys" to "known annex items"Gravatar Joey Hess2013-10-28
|