Commit graph

2700 commits

Author SHA1 Message Date
Joey Hess
7f7ae7a3b1 find: Support --print0
It would be nice if command-specific options were supported. The first
difficulty is that which command is being called is not known until after
getopt; but that could be worked around by finding the first non-dashed
parameter. Storing the settings without putting them in the annex monad is
the next difficulty; it could perhaps be handled by making the seek stage
pass applicable settings into the start stage (and from there on to perform
as needed). But that still leaves a problem, what data type to use to
represent the options between getopt and seek?
2011-11-22 14:06:31 -04:00
Joey Hess
fc2f0e8b1a response; cannot reproduce 2011-11-22 12:37:51 -04:00
Joey Hess
d1ecd381c9 Merge branch 'master' of ssh://git-annex.branchable.com 2011-11-22 12:22:28 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
35b4706958 2011-11-22 07:09:24 +00:00
Joey Hess
297bcf194f Merge branch 'master' of ssh://git-annex.branchable.com 2011-11-21 18:37:40 -04:00
http://cgray.myopenid.com/
6c0448d94c 2011-11-21 22:24:04 +00:00
Joey Hess
0f0169fa99 comment update 2011-11-20 22:49:53 -04:00
Joey Hess
2768be7136 response 2011-11-20 14:19:03 -04:00
Joey Hess
40828a6299 Merge branch 'master' of ssh://git-annex.branchable.com 2011-11-20 14:15:29 -04:00
Joey Hess
d675f1c82e status --json now shows most things
Left out the backend usage graph for now, and bad/temp directory sizes
are only displayed when present. Also, disk usage is returned as a string
with units, which I can see changing later.
2011-11-20 14:12:48 -04:00
Joey Hess
128b4bd015 tweaks 2011-11-19 15:57:08 -04:00
Joey Hess
0fa1d136dc tweak 2011-11-19 15:40:40 -04:00
Joey Hess
32d9813b1d tweak 2011-11-19 15:27:10 -04:00
Joey Hess
3905053a18 update comment to explain non-obvious temp file 2011-11-19 15:16:38 -04:00
Joey Hess
1b90918cec avoid error message when doing get --from on file not present on remote 2011-11-18 17:26:37 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
1de00df636 2011-11-18 21:12:30 +00:00
Joey Hess
c50a5fbeb4 status: Include all special remotes in the list of repositories.
Special remotes do not always have a description listed in uuid.log,
and such ones were not listed before.
2011-11-18 13:22:48 -04:00
Joey Hess
1326bb8635 Avoid excessive escaping for rsync special remotes that are not accessed over ssh.
This is actually tricky, 45bbf210a1 added
the escaping because it's needed for rsync that does go over ssh.
So I had to detect whether the remote's rsync url will use ssh or not,
and vary the escaping.
2011-11-18 12:53:48 -04:00
Joey Hess
ed55a750d5 response 2011-11-18 11:58:55 -04:00
http://ertai.myopenid.com/
1516458885 2011-11-18 14:11:08 +00:00
Joey Hess
c70b78d40a migrate: Don't fall over a stale temp file. 2011-11-17 18:29:28 -04:00
Joey Hess
8b892901a9 analysis; not a bug but a feature 2011-11-17 18:20:06 -04:00
Joey Hess
4f6ca37b27 Merge branch 'master' of ssh://git-annex.branchable.com 2011-11-17 18:18:28 -04:00
Joey Hess
d66fac1ec8 fix typo introduced with the Ref type 2011-11-17 18:17:34 -04:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
b3bbc1cbb6 2011-11-17 21:56:55 +00:00
https://www.google.com/accounts/o8/id?id=AItOawnBJ6Dv1glxzzi4qIzGFNa6F-mfHIvv9Ck
abd4e1192f 2011-11-17 21:51:55 +00:00
Joey Hess
1ffd54ef78 ensure branch exists before trying to update it
The branch may not exist, if .git/annex has been copied over from another
repo (or a corrupted repo). I suppose it could also have gotten deleted
somehow. Without this, there is a confusing failure.
2011-11-16 18:56:06 -04:00
Joey Hess
6d9f525f64 clarify 2011-11-16 11:59:17 -04:00
Joey Hess
9290095fc2 improve type signatures with a Ref newtype
In git, a Ref can be a Sha, or a Branch, or a Tag. I added type aliases for
those. Note that this does not prevent mixing up of eg, refs and branches
at the type level. Since git really doesn't care, except rare cases like
git update-ref, or git tag -d, that seems ok for now.

There's also a tree-ish, but let's just use Ref for it. A given Sha or Ref
may or may not be a tree-ish, depending on the object type, so there seems
no point in trying to represent it at the type level.
2011-11-16 02:41:46 -04:00
Joey Hess
272a67921c better name 2011-11-16 01:46:46 -04:00
Joey Hess
2bb6b02948 When not run in a git repository, git-annex can still display a usage message, and "git annex version" even works.
Things that sound simple, but are made hard by the Annex monad being built
with the assumption that there will always be a git repo.
2011-11-16 00:49:09 -04:00
Joey Hess
84784e2ca1 cleanup 2011-11-16 00:07:06 -04:00
Joey Hess
6d0af3b211 Merge branch 'master' of ssh://git-annex.branchable.com 2011-11-16 00:05:15 -04:00
Joey Hess
9b71b5f26c fix display of semitrusted repos in status
semitrusted uuids rarely are listed in trust.log, so a special case
is needed to get a list of them. Take the difference of all known uuids
with non-semitrusted uuids.
2011-11-16 00:01:07 -04:00
Joey Hess
e83b966eb5 cleanup 2011-11-15 23:51:24 -04:00
Joey Hess
21a925dcf1 merge: Now runs in constant space.
Before, a merge was first calculated, by running various actions that
called git and built up a list of lines, which were at the end sent
to git update-index. This necessarily used space proportional to the size
of the diff between the trees being merged.

Now, lines are streamed into git update-index from each of the actions in
turn.

Runtime size of git-annex merge when merging 50000 location log files
drops from around 100 mb to a constant 4 mb.

Presumably it runs quite a lot faster, too.
2011-11-15 23:28:01 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo
e92534e5b5 Added a comment 2011-11-16 03:24:31 +00:00
https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo
eb0c8c955c 2011-11-16 03:22:29 +00:00
Joey Hess
922e9af528 cleanup 2011-11-15 22:40:40 -04:00
Joey Hess
b76dc2d210 avoid space leak writing merge
This reduces the memory use of a merge by 1/3rd. The space leak was
apparently because the whole update-index input was generated strictly, not
lazily.

I wondered if the change to ByteStrings contributed to this, due to the
need to convert with L.pack here. But going back to the old code, I still
see a much similar leak, and worse performance besides due to it not using
ByteStrings.

The fix is to just hPutStr the lines repeatedly. (Note the \0 is written
separately, to avoid allocation overheads in adding it to the string.)
The Git.pipeWrite interface is probably just wrong for any large inputs to
git. This was the only place using it for input of any size.

There is still at least one other space leak in the merge code.
2011-11-15 22:19:12 -04:00
Joey Hess
5c5ff2cb78 better error message 2011-11-15 19:17:07 -04:00
Joey Hess
80a0be5116 further insteadOf fix 2011-11-15 19:03:25 -04:00
Joey Hess
7d05ca1d6d Fix support for insteadOf url remapping. Closes: #644278 2011-11-15 14:06:38 -04:00
Joey Hess
3c45371115 close as resolved 2011-11-15 01:53:28 -04:00
http://cgray.myopenid.com/
d99fa3ec4e removed 2011-11-15 05:22:09 +00:00
http://cgray.myopenid.com/
8d9d94f90c Added a comment 2011-11-15 05:15:47 +00:00
http://cgray.myopenid.com/
eb214f719c Added a comment 2011-11-15 05:14:05 +00:00
http://joey.kitenet.net/
cfc518190c Added a comment 2011-11-15 04:46:13 +00:00
http://joey.kitenet.net/
a6091dc271 Added a comment 2011-11-15 04:40:35 +00:00
Joey Hess
def0788698 show number of repos 2011-11-15 00:33:54 -04:00