Commit graph

358 commits

Author SHA1 Message Date
Joey Hess
949b3f69d0 optimize: A new subcommand that either gets or drops file content as needed 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.
2011-09-14 13:47:22 -04:00
Joey Hess
03d6209e1c addurl: Always use whole url as destination filename, rather than only its 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.
2011-09-07 19:04:51 -04:00
Joey Hess
72b54d6170 Fix build without S3. 2011-09-07 10:21:19 -04:00
Joey Hess
6f98fd5391 whereis: Show untrusted locations separately and do not include in location count. 2011-09-06 16:59:53 -04:00
Joey Hess
6fd0df7c2f releasing version 3.20110906 2011-09-06 15:54:21 -04:00
Joey Hess
ebb92221fd Fix Makefile to work with cabal again. 2011-09-06 15:35:13 -04:00
Joey Hess
07125dca53 Improve display of newlines around error and warning messages. 2011-09-06 13:46:08 -04:00
Joey Hess
d238bbd9d9 releasing version 3.20110902 2011-09-02 21:32:05 -04:00
Joey Hess
2f4d4d1c45 basic json support
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.
2011-09-01 15:22:06 -04:00
Joey Hess
f600444ab6 unused --remote: Reduced memory use to 1/4th what was used before.
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.
2011-08-31 19:13:02 -04:00
Joey Hess
ea7b1828d4 unused, status: Sped up by avoiding unnecessary stats of annexed files.
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.
2011-08-30 15:16:34 -04:00
Joey Hess
d1154d0837 init: Make description an optional parameter. 2011-08-29 14:13:38 -04:00
Joey Hess
6e750764b7 The wget command will now be used in preference to curl, if available.
Got tired of curl's various ugly progress bars.
2011-08-27 12:31:50 -04:00
Joey Hess
20259c2955 Set EMAIL when running test suite so that git does not need to be configured first. Closes: #638998 2011-08-23 13:41:32 -04:00
Joey Hess
06f509854a file moved 2011-08-21 13:19:33 -04:00
Joey Hess
3786f8d348 releasing version 3.20110819 2011-08-19 20:38:36 -04:00
Joey Hess
01cd775d92 Fix broken upgrade from V1 repository. Closes: #638584
Had forgotten to keep several old versions of functions needed during this
upgrade.
2011-08-19 20:32:18 -04:00
Joey Hess
8a2197adfa Added annex-cost-command configuration, which can be used to vary the cost of a remote based on the output of a shell command.
Also avoided crashing if the user specified cost value cannot be parsed.
2011-08-18 12:20:47 -04:00
Joey Hess
56f6923ccb Now "git annex init" only has to be run once
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.
2011-08-17 14:44:31 -04:00
Joey Hess
f0c2130700 releasing version 3.20110817 2011-08-17 01:34:15 -04:00
Joey Hess
4a023dd1aa Added curl to Debian package dependencies. 2011-08-16 22:22:00 -04:00
Joey Hess
e6752cc064 Added support for getting content from git remotes using http (and https). 2011-08-16 21:12:48 -04:00
Joey Hess
dede05171b addurl: --fast can be used to avoid immediately downloading the url.
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.
2011-08-06 14:57:22 -04:00
Joey Hess
45bbf210a1 Fix shell escaping in rsync special remote. 2011-07-29 15:28:21 +02:00
Joey Hess
a8a71b9d91 releasing version 3.20110719 2011-07-19 23:52:09 -04:00
Joey Hess
ec9e9343d9 add closure for new bug that I already fixed 2011-07-17 19:05:50 -04:00
Joey Hess
ded2591124 unannex: Clean up use of git commit -a.
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.
2011-07-14 17:15:37 -04:00
Joey Hess
0c46cbab09 Support the standard git -c name=value
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.
2011-07-14 16:51:20 -04:00
Joey Hess
7919de73af Bugfix: Make add ../ work.
The complication of check-attr returning absolute paths that have to be
converted back to relative paths..
2011-07-10 13:52:53 -04:00
Joey Hess
40c6ba99f5 add: Be even more robust to avoid ever leaving the file seemingly deleted.
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.
2011-07-07 21:30:51 -04:00
Joey Hess
2a108982ad add monad-control to build depends
Will use this to handle exceptions in the Annex monad, yay.
2011-07-07 20:53:57 -04:00
Joey Hess
4d4f297c96 releasing version 3.20110707 2011-07-07 19:37:49 -04:00
Joey Hess
67dcc1f171 add: Avoid a failure mode that resulted in the file seemingly being deleted (content put in the annex but no symlink present). 2011-07-07 19:29:36 -04:00
Joey Hess
2fb771f135 Bugfix: Forgot to de-escape keys when upgrading.
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.
2011-07-07 17:04:21 -04:00
Joey Hess
497b1e6092 Fix sign bug in disk free space checking.
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.
2011-07-05 20:53:58 -04:00
Joey Hess
d583e04d23 releasing version 3.20110705 2011-07-05 15:21:38 -04:00
Joey Hess
5c69ac14eb Drop the dependency on the haskell curl bindings, use regular haskell HTTP. 2011-07-04 19:33:11 -04:00
Joey Hess
71c783bf24 uninit: Use unannex in --fast mode, to support unannexing multiple files that link to the same content. 2011-07-04 16:20:50 -04:00
Joey Hess
22a4f5b348 unannex: In --fast mode, file content is left in the annex, and a hard link made to it. 2011-07-04 16:06:28 -04:00
Joey Hess
5beb6bc76f uninit: delete .git/annex/ 2011-07-04 15:55:03 -04:00
Joey Hess
5c63b409d4 uninit: Delete the git-annex branch. 2011-07-04 15:50:30 -04:00
Joey Hess
48db40857c releasing version 3.20110702 2011-07-02 15:08:05 -04:00
Joey Hess
457d28c676 wording 2011-07-01 17:24:11 -04:00
Joey Hess
a140f7148f documentation for using the web 2011-07-01 16:05:06 -04:00
Joey Hess
2cdacfbae6 remove URL backend 2011-07-01 16:01:04 -04:00
Joey Hess
6ba866ca73 updates for web remote and removing URL backend 2011-07-01 15:39:30 -04:00
Joey Hess
cdbcd6f495 add web special remote
Generalized LocationLog to PresenceLog, and use a presence log to record
urls for the web special remote.
2011-07-01 15:30:42 -04:00
Joey Hess
ee3a0551a7 Merge branch 'master' into v3
Conflicts:
	debian/changelog
2011-06-30 15:01:08 -04:00
Joey Hess
56aeeb4565 cabal can now be used to build git-annex.
This is substantially slower than using make, does not build or install
documentation, does not run the test suite, and is not particularly
recommended, but could be useful to some.
2011-06-30 14:55:03 -04:00
Joey Hess
8562e6096c v3 is now faster than v2
Rebenchmarked v2 vs v3, and v3 is now actually faster. Yes, storing data
in git, using git as a filesystem is actually faster than just using the
filesystem. If you do it just right. :)
2011-06-30 01:16:53 -04:00