| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
find: Rather than only showing files whose contents are present, when used
with --exclude --copies or --in, displays all files that match the
specified conditions.
Note that this is a behavior change for find --exclude! Old behavior
can be gotten with find --in . --exclude=...
|
|
|
|
|
|
| |
specified number of copies.
(And --not --copies=N for the inverse.)
|
| |
|
| |
|
| |
|
|
|
|
| |
Only does copy when numcopies is not yet satisfied.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
get, drop: Added --auto option, which decides whether to get/drop content
as needed to work toward the configured numcopies.
The problem with bundling it up in optimize was that I then found I wanted
to run an optmize that did not drop files, only got them. Considered adding
a --only-get switch to it, but that seemed wrong. Instead, let's make
existing subcommands optionally smarter.
Note that the only actual difference between drop and drop --auto is that
the latter does not even try to drop a file if it knows of not enough
copies, and does not print any error messages about files it was unable to
drop.
It might be nice to make get avoid asking git for attributes when not in
auto mode. For now it always asks for attributes.
|
|
|
|
|
|
|
|
| |
to work toward meeting the configured numcopies setting.
This is currently rather simplistic, though still useful.
In the future, it could become smarter about what content is stored where,
etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
file component.
First, this ensures that git annex addurl, when run repeatedly with the
same url, doesn't create duplicate files, which it did before when it
fell back to the longer filename.
Secondly, the file part of an url is frequently not very descriptive on its
own.
The uri scheme, auth, and port is intentionally left out, as clutter.
|
| |
|
|
|
|
| |
count.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes a generic JSONStream library built on top of Text.JSON
(somewhat hackishly).
It would be possible to stream out a single json document describing
all actions, but it's probably better for consumers if they can expect
one json document per line, so I did it that way instead.
Output from external programs used for transferring files is not
currently hidden when outputting json, which probably makes it not very
useful there. This may be dealt with if there is demand for json
output for --get or --move to be parsable.
The version, status, and find subcommands have hand-crafted output and
don't do json. The whereis subcommand needs to be modified to produce
useful json.
|
|
|
|
|
|
|
| |
Using a single strictness annotation, in just the right place.
Tried several others, none of which helped and some of which potentially
hurt. This is only the second time I've really had to deal with this in
a year of using haskell, which is, I suppose not that bad.
|
|
|
|
|
|
|
|
| |
Statting files returned by dirContents to see if they exist and are regular
files seems pretty useless. This code was originally part of fsck, and
perhaps the idea then was to avoid things returned by dirContents that were
not files. But it's certianly not needed in the current use cases for
getKeysPresent.
|
| |
|
|
|
|
| |
Got tired of curl's various ugly progress bars.
|
|
|
|
| |
first. Closes: #638998
|
| |
|
| |
|
|
|
|
|
| |
Had forgotten to keep several old versions of functions needed during this
upgrade.
|
|
|
|
|
|
| |
of a remote based on the output of a shell command.
Also avoided crashing if the user specified cost value cannot be parsed.
|
|
|
|
|
|
|
| |
when a git repository is first being created. Clones will automatically
notice that git-annex is in use and automatically perform a basic
initalization. It's still recommended to run "git annex init" in any
clones, to describe them.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The tricky part about this is that to generate a key, the file must be
present already. Worked around by adding (back) an URL key type, which
is used for addurl --fast.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This was more complex than would be expected. unannex has to use git commit -a
since it's removing files from git; git commit filelist won't do.
Allow commands to be added to the Git queue that have no associated files,
and run such commands once.
|
|
|
|
|
|
|
|
|
| |
This allows eg, `git-annex -c annex.rsync-options=-6 get file`
The overridden git configs are not passed on to git plumbing commands
that are run. Perhaps someone will find a need to do that, but I don't yet
and it would require storing more state to know what config settings
have been overridden and need to be passed on.
|
|
|
|
|
| |
The complication of check-attr returning absolute paths that have to be
converted back to relative paths..
|
|
|
|
|
| |
A failure at any point after the file is annexed will result in an undo
that puts the original file back into place and wipes the location log.
|
|
|
|
| |
Will use this to handle exceptions in the Annex monad, yay.
|
| |
|
|
|
|
| |
(content put in the annex but no symlink present).
|
|
|
|
|
|
|
| |
Could result in bad location log data for keys that contain [&:%] in their
names. (A workaround for this problem is to run git annex fsck.)
`git annex unused --from remote` could also run into the broken code.
|
|
|
|
|
|
|
|
|
| |
Giulio Eulisse reported that on OSX, bad free space numbers were being
shown. It thought he had negative free space.
While the documentation is not clear, especially across OS's, it seems
likely that statfs uses unsigned long. It doesn't make sense for any
numbers to be negative.
|
| |
|
| |
|
|
|
|
| |
that link to the same content.
|
|
|
|
| |
made to it.
|
| |
|
| |
|
| |
|
| |
|