aboutsummaryrefslogtreecommitdiff
path: root/Command
Commit message (Collapse)AuthorAge
* support pointer filesGravatar Joey Hess2015-12-07
| | | | | | | | | | | | | | | | | | | | | Backend.lookupFile is changed to always fall back to catKey when operating on a file that's not a symlink. catKey is changed to understand pointer files, as well as annex symlinks. Before, catKey needed a file mode witness, to be sure it was looking at a symlink. That was complicated stuff. Now, it doesn't actually care if a file in git is a symlink or not; in either case asking git for the content of the file will get the pointer to the key. This does mean that git-annex will treat a link foo -> WORM--bar as a git-annex file, and also treats a regular file containing annex/objects/WORM--bar as a git-annex file. Calling catKey could make git-annex commands need to do more work than before. This would especially be the case if a repo contained many regular files, and only a few annexed files, as now git-annex will need to ask git about the contents of the regular files.
* update associated files database on smudge and cleanGravatar Joey Hess2015-12-07
|
* refactorGravatar Joey Hess2015-12-04
|
* commentsGravatar Joey Hess2015-12-04
|
* don't let git-annex direct be run in a v6 repoGravatar Joey Hess2015-12-04
|
* add v6; keep v5 working for now and manual upgradeGravatar Joey Hess2015-12-04
| | | | | | | | | | | | Since all places where a repo is used in direct mode need to have git-annex upgraded before the repo can safely be converted to v6, the upgrade needs to be manual for now. I suppose that at some point I'll want to drop all the direct mode support code. At that point, will stop supporting v5, and will need to auto-upgrade any remaining v5 repos. If possible, I'd like to carry the direct mode support for say, a year or so, to give people plenty of time to upgrade and avoid disruption.
* merge clean into smudge commandGravatar Joey Hess2015-12-04
| | | | | | The git filter config can be used to map the single git-annex command to the 2 actions, and this avoids "git annex clean" being used for this thing, it might have a better use for that name later.
* clean filter should update location log when adding new content to annexGravatar Joey Hess2015-12-04
|
* avoid commit and messages for smudge filterGravatar Joey Hess2015-12-04
|
* annex.largefiles support for clean filterGravatar Joey Hess2015-12-04
|
* smudge filter workingGravatar Joey Hess2015-12-04
|
* basic clean filter workingGravatar Joey Hess2015-12-04
|
* skeleton smudge/clean filtersGravatar Joey Hess2015-12-04
|
* dropunused: Make more robust when trying to drop an object that has already ↵Gravatar Joey Hess2015-12-03
| | | | | | | been dropped. Before it crashed trying to lock the not-present content and prevented dropping anything else. Instead, succeed.
* addurl, importfeed: Changed to honor annex.largefiles settings, when the ↵Gravatar Joey Hess2015-12-02
| | | | | | | | | content of the url is downloaded. (Not when using --fast or --relaxed.) importfeed just calls addurl functions, so inherits this from it. Note that addurl still generates a temp file, and uses that key to download the file. It just adds it to the work tree at the end when the file is small.
* import: Changed to honor annex.largefiles settings.Gravatar Joey Hess2015-12-02
|
* map: Improve display of git remotes with non-ssh urls, including http and ↵Gravatar Joey Hess2015-11-18
| | | | gcrypt.
* note where map is left in --fast modeGravatar Joey Hess2015-11-18
|
* Display progress meter in -J mode when downloading from the web.Gravatar Joey Hess2015-11-16
| | | | | Including in addurl, and get --from web, but also in S3 and External special remotes when a web url is known for content in those remotes.
* display a message in the unlikely scenario of fsking a dead repositoryGravatar Joey Hess2015-11-10
|
* fsck: When fscking a dead repo, avoid incorrect "fixing location log" message.Gravatar Joey Hess2015-11-10
| | | | | keyLocations doesn't return locations in dead repos, but if we're fscking a dead repo, we want to look at what locations are actually logged for it.
* work around git check-ignore --batch bad exit status bug, and bring back ↵Gravatar Joey Hess2015-11-06
| | | | import -J
* add: Fix error recovery rollback to not move the injested file content out ↵Gravatar Joey Hess2015-11-06
| | | | | | of the annex back to the file, because other files may point to that same content. Instead, copy the injected file content out to recover. That was not a data loss, but it came close!
* missed adding allowConcurrentOutput hereGravatar Joey Hess2015-11-06
|
* import -J fails at the end, disable util it can be fixedGravatar Joey Hess2015-11-05
|
* import: Avoid very ugly error messages when the directory files are imported ↵Gravatar Joey Hess2015-11-05
| | | | to is not a directort, but perhaps an annexed file.
* -J for add/addurl/importGravatar Joey Hess2015-11-05
|
* drop -JnGravatar Joey Hess2015-11-04
|
* parallel fsck (yes, these changes are all it takes now!)Gravatar Joey Hess2015-11-04
|
* arrange for regional output manager to run when -J is enabledGravatar Joey Hess2015-11-04
| | | | | | | | | | Commands that want to use it have to run their seek action inside allowConcurrentOutput. Which seems reasonable; perhaps some future command will want to support the -J flag but not use regions. The region state moved from Annex to MessageState. This makes sense organizationally, and note that some uses of onLocal use a different Annex state, but pass the MessageState into it, which is what is needed.
* enableremote: List uuids and descriptions of remotes that can be enabled, ↵Gravatar Joey Hess2015-10-26
| | | | and accept either the uuid or the description in leu if the name.
* improve layout and commentGravatar Joey Hess2015-10-15
|
* use action, not sideActionGravatar Joey Hess2015-10-11
| | | | | | | | sideAction is for things not generally related to the current action being performed. And, it adds a newline after the side action. This was not the right thing to use for stuff like "checksum", where doing a checksum is part of the git annex get process, and indeed we want it to display "(checksum...) ok"
* implement lockContent for ssh remotesGravatar Joey Hess2015-10-09
|
* also generate a drop safety proof for move --from remoteGravatar Joey Hess2015-10-09
|
* tests and verified that the bug is fixed, in all the cases I identifiedGravatar Joey Hess2015-10-09
|
* fix local dropping to not require extra locking of copies, but only that the ↵Gravatar Joey Hess2015-10-09
| | | | local copy be locked for removal
* rename constructorGravatar Joey Hess2015-10-09
|
* verify local copy of content with lockingGravatar Joey Hess2015-10-09
|
* display drop safety proofs in debug modeGravatar Joey Hess2015-10-09
|
* improve drop proof codeGravatar Joey Hess2015-10-09
|
* support invalidating existing VerifiedCopysGravatar Joey Hess2015-10-08
|
* add VerifiedCopy data typeGravatar Joey Hess2015-10-08
| | | | | | | | | There should be no behavior changes in this commit, it just adds a more expressive data type and adjusts code that had been passing around a [UUID] or sometimes a Maybe Remote to instead use [VerifiedCopy]. Although, since some functions were taking two different [UUID] lists, there's some potential for me to have gotten it horribly wrong.
* add removeKey action to RemoteGravatar Joey Hess2015-10-08
| | | | | Not implemented for any remotes yet; probably the git remote is the only one that will ever implement it.
* git-annex-shell: Added lockcontent command, to prevent dropping of key's ↵Gravatar Joey Hess2015-10-08
| | | | content.
* add lockContentSharedGravatar Joey Hess2015-10-08
| | | | | | | | Also, rename lockContent to lockContentExclusive inAnnexSafe should perhaps be eliminated, and instead use `lockContentShared inAnnex`. However, I'm waiting on that, as there are only 2 call sites for inAnnexSafe and it's fiddly.
* copy --auto was checking the wrong repo's preferred content. (--from was ↵Gravatar Joey Hess2015-10-06
| | | | checking what --to should, and vice-versa.) Fixed this bug, which was introduced in version 5.20150727.
* avoid using print action, which is reserved for debuggingGravatar Joey Hess2015-10-06
|
* other 80% of avoding verification when hard linking to objects in shared repoGravatar Joey Hess2015-10-02
| | | | | | | | | | | | | | | | | | | | In c3b38fb2a075b4250e867ebd910324c65712c747, it actually only handled uploading objects to a shared repository. To avoid verification when downloading objects from a shared repository, was a lot harder. On the plus side, if the process of downloading a file from a remote is able to verify its content on the side, the remote can indicate this now, and avoid the extra post-download verification. As of yet, I don't have any remotes (except Git) using this ability. Some more work would be needed to support it in special remotes. It would make sense for tahoe to implicitly verify things downloaded from it; as long as you trust your tahoe server (which typically runs locally), there's cryptographic integrity. OTOH, despite bup being based on shas, a bup repo under an attacker's control could have the git ref used for an object changed, and so a bup repo shouldn't implicitly verify. Indeed, tahoe seems unique in being trustworthy enough to implicitly verify.
* Do verification of checksums of annex objects downloaded from remotes.Gravatar Joey Hess2015-10-01
| | | | | | | | | | | | | | | | * When annex objects are received into git repositories, their checksums are verified then too. * To get the old, faster, behavior of not verifying checksums, set annex.verify=false, or remote.<name>.annex-verify=false. * setkey, rekey: These commands also now verify that the provided file matches the key, unless annex.verify=false. * reinject: Already verified content; this can now be disabled by setting annex.verify=false. recvkey and reinject already did verification, so removed now duplicate code from them. fsck still does its own verification, which is ok since it does not use getViaTmp, so verification doesn't happen twice when using fsck --from.