Commit graph

23112 commits

Author SHA1 Message Date
Joey Hess
0743ee1bbc
managed to repro 2017-10-30 12:26:49 -04:00
Joey Hess
fb9b4724ba
moreinfo 2017-10-30 12:19:33 -04:00
Joey Hess
81926f638e
responses 2017-10-30 12:10:39 -04:00
Joey Hess
24883e01cd
Fix export of subdir of a branch.
Seems I forgot to fully test that feature when documenting it.

git rev-parse needs a colon after a branch to de-reference the tree
it points to, rather than the commit. But that had it adding an extra
colon when the user specified "branch:subdir". So, check if there is a
colon before adding one.

This commit was sponsored by Francois Marier on Patreon.
2017-10-30 12:02:22 -04:00
Joey Hess
edafe8621e
comment 2017-10-30 11:51:22 -04:00
Lykos153
58179ad49a 2017-10-29 17:57:50 +00:00
ynikitenko
1f5d4766d6 Added a comment: thanks 2017-10-29 16:28:34 +00:00
ynikitenko
769c1d3d37 Added a comment: not so slow 2017-10-27 12:29:12 +00:00
Joey Hess
024b52a624
add news item for git-annex 6.20171026 2017-10-26 14:03:07 -04:00
Joey Hess
d1d027ca10
better describe autobuild 2017-10-26 13:47:47 -04:00
Edward Betts
3a927a0345
correct spelling mistakes
A few spelling fixes for the git-annex devblog.
2017-10-26 10:51:17 -04:00
Joey Hess
5aa9e2f4c0
devblog 2017-10-25 19:47:14 -04:00
Joey Hess
0ae2ac282e
fix gitAnnexLink to not be absolute on Windows
Windows: Fix reversion that caused the path used to link to annexed
content include the drive letter and full path, rather than being
relative. (`git annex fix` will fix up after this problem).

I've not identified the commit that brought the reversion (probably it
happened this spring when I was removing MisingH and last touched
Utility.Path). Likely commit 18b9a4b8024115db67ae309fdaf54e1553037529?

The problem is that relPathDirToFile got called two paths that had the
slashes different ways around. Since takeDrive includes the first slash,
this made two paths on the same drive seem different and it bailed.

(ifdefs around this to avoid doing extra work on non-windows)

This commit was sponsored by Jack Hill on Patreon.
2017-10-25 19:36:29 -04:00
Joey Hess
4a72b17bd0
bug 2017-10-25 15:57:08 -04:00
Joey Hess
aa0388e37c
reply 2017-10-25 15:42:15 -04:00
Joey Hess
e8eacf96d5
Add day to metadata when annex.genmetadata is enabled.
Thanks, Sean T Parsons
2017-10-25 15:11:38 -04:00
Joey Hess
38c0e09de6
response 2017-10-25 15:04:55 -04:00
Joey Hess
833b3f06cd
build for windows with forked win32 package that has terminateProcessId
Get ugly reversion out of CHANGELOG.

Also, relocated the windows stack.yaml to top, and updated windows build
instructions.

This commit was sponsored by Henrik Riomar on Patreon.
2017-10-25 14:45:23 -04:00
Joey Hess
9f2b7dfc3e
rename this, to fix cloning on windows 2017-10-25 14:04:16 -04:00
Joey Hess
dd6d0cc9af
fix path
git-annex is installed into . by Build/NullSoftInstaller, so use that
for running git-annex test
2017-10-25 00:23:18 -04:00
yarikoptic
b5eb77f1ce asking about "Grafts" 2017-10-25 01:49:24 +00:00
ynikitenko
5387c04712 2017-10-24 19:55:06 +00:00
ynikitenko
19e9576289 Added a comment: same problem 2017-10-24 09:31:07 +00:00
seantparsons
76e0af3153 Added a comment: Since the attachment doesn't appear to be there, here's the content. 2017-10-22 20:32:22 +00:00
seantparsons
138c9efec1 2017-10-22 20:04:43 +00:00
jajpater
0b9dc04a51 Added a comment: Publishing subdir is publishing files but not subdir? 2017-10-20 10:22:25 +00:00
jajpater
003fc0ad01 Added a comment: Works when first using git annex get 2017-10-20 09:59:29 +00:00
jajpater
16cb3ec4fe Added a comment: Also fails when using UUID but differently 2017-10-20 09:47:25 +00:00
jajpater
2e9588356e Added a comment: Problem with publishing subdir. Subdir does not exist, but it does. 2017-10-20 09:21:34 +00:00
ilovezfs
f3ba40cd43 Added a comment 2017-10-19 05:50:13 +00:00
Joey Hess
9fe30b81b7
add news item for git-annex 6.20171018 2017-10-18 15:41:42 -04:00
Joey Hess
6efd2dfc89
Merge branch 'master' of ssh://git-annex.branchable.com 2017-10-18 13:35:28 -04:00
Joey Hess
aa5c76c6cd
Merge remote-tracking branch 'gueux/plasma5' 2017-10-18 13:33:33 -04:00
Félix Sipma
79cfae8eaf use plasma 5 location for ServiceMenus files on linux 2017-10-18 14:27:56 +02:00
ghen1
641f898343 2017-10-18 03:40:38 +00:00
Joey Hess
112d63e82a
devblog 2017-10-17 19:07:38 -04:00
Joey Hess
e1ac299ad0
better dup key with -J fix
This avoids all the complication about redundant work discussed in
the previous try at fixing this. At the expense of needing each command
that could have the problem to be patched to simply wrap the action in
onlyActionOn once the key is known. But there do not seem to be many
such commands.

onlyActionOn' should not be used with a CommandStart (or CommandPerform),
although the types do allow it. onlyActionOn handles running the whole
CommandStart chain. I couldn't immediately see a way to avoid mistken
use of onlyActionOn'.

This commit was supported by the NSF-funded DataLad project.
2017-10-17 18:48:53 -04:00
Joey Hess
68a49adcda
Improve behavior when -J transfers multiple files that point to the same key
After a false start, I found a fairly non-intrusive way to deal with it.
Although it only handles transfers -- there may be issues with eg
concurrent dropping of the same key, or other operations.

There is no added overhead when -J is not used, other than an added
inAnnex check. When -J is used, it has to maintain and check a small
Set, which should be negligible overhead.

It could output some message saying that the transfer is being done by
another thread. Or it could even display the same progress info for both
files that are being downloaded since they have the same content. But I
opted to keep it simple, since this is rather an edge case, so it just
doesn't say anything about the transfer of the file until the other
thread finishes.

Since the deferred transfer action still runs, actions that do more than
transfer content will still get a chance to do their other work. (An
example of something that needs to do such other work is P2P.Annex,
where the download always needs to receive the content from the peer.)
And, if the first thread fails to complete a transfer, the second thread
can resume it.

But, this unfortunately means that there's a risk of redundant work
being done to transfer a key that just got transferred.
That's not ideal, but should never cause breakage; the same
thing can occur when running two separate git-annex processes.

The get/move/copy/mirror --from commands had extra inAnnex checks added,
inside the download actions. Without those checks, the first thread
downloaded the content, and then the second thread woke up and
downloaded the same content redundantly.

move/copy/mirror --to is left doing redundant uploads for now. It
would need a second checkPresent of the remote inside the upload
to avoid them, which would be expensive. A better way to avoid
redundant work needs to be found..

This commit was supported by the NSF-funded DataLad project.
2017-10-17 17:10:50 -04:00
Joey Hess
594359351c
Merge branch 'master' of ssh://git-annex.branchable.com 2017-10-17 13:39:27 -04:00
Joey Hess
9606f6e83a
idea 2017-10-17 13:39:02 -04:00
https://launchpad.net/~barthelemy
65847905ca 2017-10-17 10:17:32 +00:00
85.144.94.148
7e563243ff poll vote (/sdcard/annex) 2017-10-16 21:50:31 +00:00
Joey Hess
d845d8a667
windows autobuilder no longer firewalled 2017-10-16 15:07:51 -04:00
Joey Hess
ffbd9001b5
link to bug 2017-10-16 14:53:18 -04:00
Joey Hess
0c7fee832a
close bug 2017-10-16 14:50:30 -04:00
Joey Hess
bfb44298fb
close bug 2017-10-16 14:13:08 -04:00
Joey Hess
85ed38a574
Avoid repeated checking that files passed on the command line exist.
git annex add, git annex lock etc make multiple seek passes,
and each seek pass checked that files existed. That was unncessary
redundant work.

Fixed by adding a new WorkTreeItem type, make seek actions use it,
and check that the files exist when constructing it.

This commit was supported by the NSF-funded DataLad project.
2017-10-16 14:10:20 -04:00
Joey Hess
a461cf2ce6
add: Replace work tree file atomically.
Before, there was a window where interrupting an add could result in the
file being moved into the annex, with no symlink yet created.

This commit was supported by the NSF-funded DataLad project.
2017-10-16 12:57:28 -04:00
madalu
c525644567 Added a comment 2017-10-12 00:58:04 +00:00
Joey Hess
c01ecc2ec1
followup 2017-10-11 12:12:35 -04:00
Joey Hess
0f4d9fa5e1
Merge branch 'master' of ssh://git-annex.branchable.com 2017-10-11 11:23:54 -04:00
Joey Hess
f083ee990b
response 2017-10-11 11:22:49 -04:00
matyasbot@fd008517d046c382e18306c0b3db48eb58d45dee
c9bcbe3f8a Added a comment 2017-10-11 15:17:55 +00:00
Joey Hess
81802bf51d
comment 2017-10-11 11:16:11 -04:00
Joey Hess
adcc73d91a
Merge branch 'master' of ssh://git-annex.branchable.com 2017-10-11 11:13:43 -04:00
Joey Hess
4cdf257781
comment 2017-10-11 11:12:58 -04:00
Joey Hess
9aaf7e2b52
webdav: Avoid unncessisarily creating the collection at the top of the repo
when storing files there, since that collection is created by initremote.
(This seems to work around some brokenness of the box.com webdav server
which was entering a redirect loop.)

Note that the fix makes locationParent return Nothing instead of "."
when there's no parent directory between the path and the top of the webdav
repo.

This commit was sponsored by André Pereira on Patreon.
2017-10-11 11:10:33 -04:00
Joey Hess
61dccecad7
Fix build with aws-0.17.
This commit was sponsored by Denis Dzyubenko on Patreon.
2017-10-11 10:57:20 -04:00
Joey Hess
16fde7d4a6
close 2017-10-11 10:48:23 -04:00
matyasbot@fd008517d046c382e18306c0b3db48eb58d45dee
f8fc55c794 Added a comment: pull didn't do anything either 2017-10-11 14:23:29 +00:00
matyasbot@fd008517d046c382e18306c0b3db48eb58d45dee
19a0b07b53 2017-10-11 14:16:57 +00:00
yarikoptic
57d9b76a87 Added a comment 2017-10-10 17:56:47 +00:00
yarikoptic
fe11aaf059 Added a comment 2017-10-10 17:40:08 +00:00
Joey Hess
05bd13187d
response 2017-10-10 13:37:46 -04:00
yarikoptic
fe854fbd41 Added a comment: annex fsck reverts them back to incorrect! 2017-10-10 17:17:12 +00:00
yarikoptic
7cf8fecdec initial report 2017-10-10 17:06:10 +00:00
juh
b76967f0f7 2017-10-10 12:18:38 +00:00
madalu
dc9c435c56 Added a comment 2017-10-09 15:46:09 +00:00
madalu
ca35daf0c7 Added a comment: Reproduction of bug with "pure" stack build 2017-10-09 15:43:16 +00:00
madalu
7821c45428 Added a comment 2017-10-09 14:52:54 +00:00
madalu
de91ffaab5 Added a comment: Second test (without line 134) 2017-10-09 14:40:45 +00:00
madalu
ca71c08634 Added a comment: First test 2017-10-09 14:22:22 +00:00
Marco
92577980fc keybase encrypted git anyone? 2017-10-09 09:37:48 +00:00
xloem
7613a5e81c Added a comment: IPFS Deduplication 2017-10-07 19:46:12 +00:00
Joey Hess
34bb350724
webdav: Make --debug show all webdav operations. 2017-10-07 14:11:32 -04:00
Joey Hess
47aa0c7f73
response 2017-10-07 13:50:43 -04:00
madalu
0c8385ecc7 change wording 2017-10-07 16:38:21 +00:00
madalu
951e1ab816 2017-10-07 15:55:55 +00:00
madalu
5b51f21018 2017-10-06 23:46:48 +00:00
madalu
4fffbcf1e4 Added a comment 2017-10-06 23:45:13 +00:00
madalu
beca3ce2bc removed 2017-10-06 21:49:13 +00:00
yarikoptic
6760007707 Added a comment 2017-10-06 00:38:25 +00:00
yarikoptic
241e5290b6 Added a comment 2017-10-05 20:36:50 +00:00
yarikoptic
a523e7399a Added a comment: also the same for add 2017-10-05 17:00:51 +00:00
https://launchpad.net/~felixonmars
c922622a47 Added a comment 2017-10-05 14:02:03 +00:00
ilovezfs
9b77574113 2017-10-04 01:56:22 +00:00
ilovezfs
e251685a14 2017-10-04 01:43:32 +00:00
Joey Hess
a83ff189d9
add news item for git-annex 6.20171003 2017-10-03 13:19:25 -04:00
Joey Hess
b90e91ccaf
response 2017-10-03 13:18:10 -04:00
StephaneGourichon
14ffdd7792 Fix markup that caused broken link. 2017-10-03 02:52:24 +00:00
Gary
d4c952eadd 2017-10-03 01:03:55 +00:00
Joey Hess
b97f1df667
analysis; probably not a bug 2017-10-02 16:32:37 -04:00
Joey Hess
4891038b41
update 2017-10-02 14:07:10 -04:00
Joey Hess
3cd47f9978
info: Improve cleanup of stale transfer info files.
In my git-annex repos, I found some stale transfer info files
without lock files.

Pass a mode to tryLockExclusive, so it will create the lock file if
not present, and so not fail to clean up such transfer info files.

Normally, transfer info files are accompanied by a lock file.
But, when alwaysRunTransfer is used, the locking can fail
and it will still write the transfer info file. Perhaps there are other
cases too? Note that mkProgressUpdater's meter
writes to the transfer info file too, and it might be possible for
that meter to fire after runTransfer has cleaned up.

This commit was sponsored by andrea rota.
2017-10-02 13:55:26 -04:00
Joey Hess
a99cca6889
response 2017-10-02 12:54:59 -04:00
Joey Hess
161595361c
comment 2017-10-02 12:48:07 -04:00
Joey Hess
a77ae7aa51
answer 2017-10-02 12:42:57 -04:00
Joey Hess
ffb0f6998b
followup 2017-10-02 12:36:56 -04:00
Joey Hess
2bc9fda65a
close old bug which got fixed in the meantime 2017-10-02 12:34:23 -04:00
Joey Hess
6d20ae24dc
Merge branch 'master' of ssh://git-annex.branchable.com 2017-10-02 11:59:30 -04:00
Joey Hess
c778b37e77
you requested his old closed bugs not be deleted yet 2017-10-02 11:58:31 -04:00
Joey Hess
fd0f04b1d0
forgot to add comment 2017-10-02 11:56:11 -04:00
jgoerzen
ade08227c6 Added a comment: A hint? 2017-10-02 02:05:32 +00:00
80d8aa@c71d4a9510ad0353dbcf7df399c2e6bde0012474
e7fc0b1af1 Added a comment: Use existing ssh keys 2017-09-30 17:07:39 +00:00
madalu
c12c37481e Added a comment 2017-09-30 03:07:30 +00:00
Joey Hess
5c32196a37
fix process and FD leak
Fix process and file descriptor leak that was exposed when git-annex was
built with ghc 8.2.1. Apparently ghc has changed its behavior of GC
of open file handles that are pipes to running processes. That
broke git-annex test on OSX due to running out of FDs.

Audited for all uses of Annex.new and made stopCoProcesses be called
once it's done with the state. Fixed several places that might have
leaked in other situations than running the test suite.

This commit was sponsored by Ewen McNeill.
2017-09-29 22:36:08 -04:00
Joey Hess
b14ad56275
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-29 20:56:45 -04:00
michalrus
0f03ef3700 Added a comment 2017-09-29 20:38:59 +00:00
michalrus
1d744ca94a Added a comment 2017-09-29 20:38:31 +00:00
Joey Hess
799a432b68
comment 2017-09-29 16:26:13 -04:00
Joey Hess
aebe0da529
comment 2017-09-29 15:52:41 -04:00
Joey Hess
d1a3f0bc8e
retitle 2017-09-29 15:46:50 -04:00
Joey Hess
22e0ecd938
comment 2017-09-29 15:46:39 -04:00
Joey Hess
f84e34883c
test: Fix reversion that made it only run inside a git repository.
Using annexeval to run probeCrippledFileSystem' caused Git.CurrentRepo.get
to be run. Fixed easily since probeCrippledFileSystem' had no need to use
the Annex monad.

This commit was sponsored by Ethan Aubin.
2017-09-29 15:08:18 -04:00
Joey Hess
9b94454b25
comment 2017-09-29 13:46:33 -04:00
Joey Hess
59631bcc41
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-29 13:45:24 -04:00
Joey Hess
070cf914ba
answer 2017-09-29 13:45:14 -04:00
Joey Hess
396e0ab548
remove stealth spam
While the link seems a valid article on recovering a sqlite database,
it's a stealth advertisement for a commercial product. Every post on
that blog is such a stealth advertisement.

Also, the question in this forum post has already been adequatly
answered.

So, I suspect this was a spamming attempt.
2017-09-29 13:42:34 -04:00
Joey Hess
ddb502e064
comment 2017-09-29 13:39:59 -04:00
madalu
b68bf419f0 Fix git-annex command 2017-09-29 17:26:14 +00:00
madalu
a857b2c3d4 Added a comment 2017-09-29 17:22:43 +00:00
Joey Hess
ce7188ec36
comment 2017-09-29 12:57:16 -04:00
Joey Hess
65a76bf381
remove old closed bugs and todo items to speed up wiki updates and reduce size
Remove closed bugs and todos that were last edited or commented before 2017.

Command line used:

for f in $(grep -l '|done\]\]' -- *.mdwn); do d="$(echo "$f" | sed 's/.mdwn$//')"; if [ -z "$(git log --since=01-01-2017 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2017 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; done
for f in $(grep -l '\[\[done\]\]' -- *.mdwn); do d="$(echo "$f" | sed 's/.mdwn$//')"; if [ -z "$(git log --since=01-01-2017 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2017 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; done
2017-09-29 12:55:42 -04:00
Joey Hess
80764993ee
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-29 12:43:10 -04:00
Joey Hess
c363a774b8
limit rss/atom feeds to 10 pages to avoid enormous files
Since bug reports are often long, the rss and atom feeds were 5+ mb in
size.
2017-09-29 12:42:09 -04:00
Joey Hess
ac897a94bb
comment 2017-09-29 12:27:19 -04:00
Joey Hess
0e42e9a528
followup 2017-09-29 12:24:53 -04:00
madalu
ffc1275827 Added a comment 2017-09-29 13:00:41 +00:00
Joey Hess
e8c9a5c515
sync: Added --cleanup, which removes local and remote synced/ branches.
Also deletes any tagged pushes that the assistant might have done,
since those would also prevent resetting a branch back.

This commit was sponsored by andrea rota.
2017-09-28 14:58:48 -04:00
Joey Hess
4d0e522b72
Warn when metadata is inherited from a previous version of a file
to avoid the user being surprised in cases where that behavior is not desired or expected

This commit was supported by the NSF-funded DataLad project.
2017-09-28 12:56:35 -04:00
Joey Hess
812d90022b
metadata: Added --remove-all.
Motivation is to remove all metadata when it gets copied from a previous
version of the file, and that is not deisrable.

This commit was supported by the NSF-funded DataLad project.
2017-09-28 12:36:10 -04:00
Joey Hess
b4d13c75a1
followup 2017-09-28 12:02:06 -04:00
anarcat
b614f36873 i believe you meant -o here, not -e. -e is escape character, while -o is to change options. 2017-09-27 16:38:07 +00:00
madalu
596698e138 2017-09-27 15:28:40 +00:00
madalu
e81931f41b 2017-09-27 15:26:29 +00:00
madalu
9e0945dd87 2017-09-27 15:25:40 +00:00
madalu
9e721438fc 2017-09-27 15:24:22 +00:00
yarikoptic
664ce4363e Added a comment 2017-09-27 05:30:53 +00:00
Joey Hess
6cfbe33d88
thought 2017-09-26 15:20:18 -04:00
Joey Hess
72ccdbf91d
comment 2017-09-26 14:38:14 -04:00
Joey Hess
e3a151cf67
analysis 2017-09-26 14:32:31 -04:00
yarikoptic
f3701e659e original discovery 2017-09-26 18:03:47 +00:00
Joey Hess
839c56469d
add news item for git-annex 6.20170925 2017-09-25 11:35:25 -04:00
Joey Hess
e136f18f14
caps 2017-09-25 11:32:44 -04:00
Joey Hess
1c08945b2b
expand 2017-09-25 11:31:08 -04:00
Joey Hess
d350530091
comment 2017-09-24 15:58:56 -04:00
Gus
7c7fa6f469 Added a comment 2017-09-24 13:14:54 +00:00
chocolate.camera@ec2ecab153906be21ac5f36652c33786ad0e0b60
4e856f8f9c How to add files to direct mode git-annex repos and have them propagate to other repos? 2017-09-24 06:15:48 +00:00
http://xgm.de/oid/
6b6a5c4fe5 Added a comment 2017-09-24 04:21:12 +00:00
https://me.yahoo.com/a/kj4_2rEl2YnZENPxus3ZJlo4L31K#1b084
e2383f3ed5 Added a comment: How to fix corrupt SQLite database? 2017-09-22 10:57:20 +00:00
https://launchpad.net/~felixonmars
e1eac16e0f 2017-09-21 16:18:55 +00:00
michalrus
b2647e354d Added a comment 2017-09-21 12:56:31 +00:00
Joey Hess
ad36479b3e
devblog 2017-09-20 15:36:39 -04:00
Joey Hess
abdff127f2
split out todo for webapp export config UI; close export todo! 2017-09-20 15:32:05 -04:00
Joey Hess
d71c65ca0a
add exporter thread to assistant
This is similar to the pusher thread, but a separate thread because git
pushes can be done in parallel with exports, and updating a big export
should not prevent other git pushes going out in the meantime.

The exportThread only runs at most every 30 seconds, since updating an
export is more expensive than pushing. This may need to be tuned.

Added a separate channel for export commits; the committer records a
commit in that channel.

Also, reconnectRemotes records a dummy commit, to make the exporter
thread wake up and make sure all exports are up-to-date. So,
connecting a drive with a directory special remote export will
immediately update it, and getting online will automatically
update S3 and WebDAV exports.

The transfer queue is not involved in exports. Instead, failed
exports are retried much like failed pushes.

This commit was sponsored by Ewen McNeill.
2017-09-20 15:29:13 -04:00
Joey Hess
c2833c955d
devblog 2017-09-19 16:24:04 -04:00
Joey Hess
a6c0ed6698
export --fast sets up but does not populate export
sync --content finishes
2017-09-19 14:26:03 -04:00
Joey Hess
2e69efea8d
git annex sync --content to exports
Assistant still todo.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon
2017-09-19 14:20:47 -04:00
Joey Hess
527f734492
configuration and docs for tracking exports
Not yet handled by sync or assistant.

This commit was sponsored by Nick Daly on Patreon.
2017-09-19 13:05:43 -04:00
Joey Hess
a6268b79b2
break out separate todo for later 2017-09-19 12:38:07 -04:00
Joey Hess
5f9eff3f32
fix bug that prevented db being written to disk in SingleWriter mode
The bug occurred when closeDb was not called, and garbage collection of
the DbHandle didn't give the workerThread time to shut down. Fixed by
exiting the runSqlite action when a commit is made.

(MultiWriter mode already forked off a runSqlite action, so avoided the
problem.)

This commit was sponsored by Brock Spratlen on Patreon.
2017-09-18 19:42:20 -04:00
Joey Hess
c35fd698aa
devblog 2017-09-18 19:22:45 -04:00
Joey Hess
f4be3c3f89
merge changes made on other repos into ExportTree
Now when one repository has exported a tree, another repository can get
files from the export, after syncing.

There's a bug: While the database update works, somehow the database on
disk does not get updated, and so the database update is run the next
time, etc. Wasn't able to figure out why yet.

This commit was sponsored by Ole-Morten Duesund on Patreon.
2017-09-18 19:21:41 -04:00
Joey Hess
6336caae3b
update 2017-09-18 14:51:32 -04:00
Joey Hess
b03d77c211
add ExportTree table to export db
New table needed to look up what filenames are used in the currently
exported tree, for reasons explained in export.mdwn.

Also, added smart constructors for ExportLocation and ExportDirectory to
make sure they contain filepaths with the right direction slashes.

And some code refactoring.

This commit was sponsored by Francois Marier on Patreon.
2017-09-18 13:59:59 -04:00
Joey Hess
486902389d
lock to avoid more than one export to a remote at a time
This commit was sponsored by Jack Hill on Patreon.
2017-09-18 12:38:07 -04:00
Joey Hess
af0958dd70
move tracking exports to design 2017-09-18 12:06:01 -04:00
Joey Hess
506701e14a
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-18 11:16:43 -04:00
git-annex.branchable.com.20170819@a1e3e0fb4b4d8d6d0cc766d28f5e375df29d8249
5dd2485e4c 2017-09-18 14:28:21 +00:00
Joey Hess
4a45f34fe1
don't support removing content from export with removeKey
There does not seem to be a use case for supporting that, and it would
need a lot of complication to support it in a way that allows eventual
consistency when two repositories are updating the same export.

This commit was sponsored by Henrik Riomar on Patreon.
2017-09-17 17:56:33 -04:00
Joey Hess
ac4c8df2ca
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-16 16:44:38 -04:00
Joey Hess
494b4066db
clarification 2017-09-16 16:44:27 -04:00
Joey Hess
18ba1be26f
design for next steps on exports 2017-09-16 16:41:04 -04:00
Joey Hess
fa73387345
add example, including use of branch:subdir to export only a subdir 2017-09-16 16:40:20 -04:00
Joey Hess
7960870e48
add link to git-annex-remote-gvfs for smb / sftp 2017-09-16 13:57:37 -04:00
gleachkr@7c488e398809299a1100b93f8884de43dee83674
5ec74f1cdb Added a comment: Thanks! 2017-09-16 16:46:48 +00:00
Joey Hess
dbe8c42fdc
update 2017-09-16 12:09:11 -04:00
Joey Hess
b7dafb4f66
response for gleachkr 2017-09-16 12:07:12 -04:00
gleachkr@7c488e398809299a1100b93f8884de43dee83674
63dfd6cde2 Added a comment 2017-09-16 16:02:41 +00:00
Joey Hess
260d1061cd
followup for gleachkr 2017-09-16 11:26:00 -04:00
gleachkr@7c488e398809299a1100b93f8884de43dee83674
97eacf3a7a Added a comment: More data points 2017-09-16 01:16:59 +00:00
Joey Hess
af82b2229c
devblog 2017-09-15 15:54:20 -04:00
Joey Hess
1223960294
empty directory removal working 2017-09-15 15:24:45 -04:00
Joey Hess
3435a47245
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-15 13:20:09 -04:00
Joey Hess
9f4ffe65e9
implement removeExportDirectory
Not yet called by Command.Export.

WebDAV needs this to clean up empty collections. Also, example.sh turned
out to not be cleaning up directories when removing content
from them, so it made sense for it to use this.

Remote.Directory did not need it, and since its cleanup method for empty
directories is more efficient than what Command.Export will need to do
to find empty directories, it uses Nothing so that extra work can be
avoided.

This commit was sponsored by Thom May on Patreon.
2017-09-15 13:18:21 -04:00
Joey Hess
78a67f29f8
forwarded from irc 2017-09-15 13:13:43 -04:00
Joey Hess
5fe803e14e
update 2017-09-15 12:22:11 -04:00
tomasz
dd2c97d8ef 2017-09-15 14:33:31 +00:00
benjamin.poldrack@d09ccff6d42dd20277610b59867cf7462927b8e3
849a5d4771 Added a comment: @joey: Sorry ... 2017-09-14 12:00:13 +00:00
Joey Hess
268a0cc664
update 2017-09-13 15:52:19 -04:00
Joey Hess
86fe31c767
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-13 15:36:17 -04:00
Joey Hess
bf48ba4ef7
work around box.com webdav rename bug
Apparently box.com renaming is just buggy. I tried a couple of fixes:

* In case the http Manager was opening multiple connections and reaching
  different backend servers, I tried limiting the number of connections
  to 1. Didn't help.
* To make sure it was not a http connection reuse problem, I tried
  rewriting how exportAction works, so that the same http connection
  is clearly open. Didn't help.

So, disable renaming of exports for box.com. It would be good to test it
with some other webdav server.

This commit was sponsored by John Peloquin on Patreon.
2017-09-13 15:26:56 -04:00
yarikoptic
afac1c46bc Added a comment 2017-09-13 17:58:54 +00:00
Joey Hess
fd062dafc5
comment 2017-09-13 12:34:45 -04:00
yarikoptic
0e4504cd2f Added a comment 2017-09-13 14:32:57 +00:00
yarikoptic
896e516941 crossed away comment on hash levels 2017-09-13 14:27:19 +00:00
yarikoptic
15ebb707fc initial finding about incorrect permissions ignored by fsck 2017-09-13 14:25:16 +00:00
Joey Hess
f8fd66d3f8
fix compaction of export.log
It was not getting old lines removed, because the tree graft confused
the updater, so it union merged from the previous git-annex branch,
which still contained the old lines. Fixed by carefully using setIndexSha.

This commit was supported by the NSF-funded DataLad project.
2017-09-12 18:30:36 -04:00
Joey Hess
0fadb620d3
devblog 2017-09-12 18:30:07 -04:00
Joey Hess
c8ed941a26
change export.log format to support multiple export remotes
This breaks backwards compatibility, but only with unreleased versions of
git-annex, which I think is acceptable.

This commit was supported by the NSF-funded DataLad project.
2017-09-12 17:45:52 -04:00
Joey Hess
63ba764923
bug 2017-09-12 17:00:15 -04:00
Joey Hess
9c3622882b
export: cache connections for S3 and webdav 2017-09-12 16:59:04 -04:00
Joey Hess
7ad8e8b889
more box.com strangeness 2017-09-12 15:45:43 -04:00
Joey Hess
7f8892f2d2
document box.com rename problem 2017-09-12 15:16:17 -04:00
Joey Hess
4d3a464e83
export to webdav
This basically works, but there's a bug when renaming a file that leaves
a .git-annex-temp-content-key file in the webdav store, that never gets
cleaned up.

Also, exporting files with spaces to box.com seems to fail; perhaps it
does not support it?

This commit was supported by the NSF-funded DataLad project.
2017-09-12 14:10:09 -04:00
Joey Hess
1332e6cec0
stop warning about removals from IA
In a test, I uploaded a pdf, and several files were derived from it.
After removing the pdf, the derived files went away after approximatly
half an hour. This window does not seem worth warning about every time.
Documented it in the tip.
2017-09-12 12:47:43 -04:00
Joey Hess
267f47c473
S3: Allow removing files from IA, but warn about derived versions potentially still existing there.
Removal works, only derives are a potential issue, so allow removing
with a warning. This way, unexporting a file works, and behavior is
consistent with IA remotes whether or not exporttree=yes.

Also tested exporting filenames containing unicode, spaces, underscores.
All worked, despite the IA's faq saying it doesn't.

This commit was sponsored by Trenton Cronholm on Patreon.
2017-09-12 12:35:58 -04:00
https://christian.amsuess.com/chrysn
7f0e2a4685 Added a comment: Issue also affects Samsung devices, git unaffected 2017-09-11 18:07:51 +00:00
NathanCollins
1ccba439e6 Added a comment: The initremote command appears to hang due to low entropy 2017-09-10 02:32:26 +00:00
ilovezfs
5cda73c529 2017-09-09 17:57:34 +00:00
Joey Hess
425a3a10b0
close 2017-09-09 13:08:42 -04:00
ilovezfs
aa608ab831 2017-09-09 16:30:28 +00:00
yarikoptic
b4e40c5477 very minor typo 2017-09-08 21:23:49 +00:00
Joey Hess
2bb96e9c32
very delayed response now that feature is added 2017-09-08 16:47:42 -04:00
Joey Hess
0228714406
consistency 2017-09-08 16:41:50 -04:00
Joey Hess
e6f2af3b63
devblog 2017-09-08 16:29:18 -04:00
Joey Hess
9c78bbb6b0
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-08 16:28:46 -04:00
Joey Hess
650d0955a0
S3 export finalization
Fixed ACL issue, and updated some documentation.
2017-09-08 16:28:28 -04:00
Joey Hess
44cd5ae313
S3 export (untested)
It opens a http connection per file exported, but then so does git
annex copy --to s3.

Decided not to munge exported filenames for IA. Too large a chance of
the munging having confusing results. Instead, export of files not
supported by IA, eg with spaces in their name, will fail.

This commit was supported by the NSF-funded DataLad project.
2017-09-08 15:46:24 -04:00
Joey Hess
a1b195d84c
External special remote protocol extended to support export.
Also updated example.sh to support export.

This commit was supported by the NSF-funded DataLad project.
2017-09-08 14:24:05 -04:00
karel-de-macil
72c4968014 Added a comment 2017-09-08 08:31:36 +00:00
Joey Hess
3b885d7914
devblog 2017-09-07 16:42:24 -04:00
Joey Hess
34ad1c15e8
mention git-annex export 2017-09-07 16:17:46 -04:00
Joey Hess
165725b9df
update 2017-09-07 16:07:28 -04:00
Joey Hess
a55b2045ad
correction 2017-09-07 16:00:03 -04:00
Joey Hess
a50d061570
comment 2017-09-07 15:55:07 -04:00
Joey Hess
9379f4174e
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-07 15:54:04 -04:00
Joey Hess
2823c6bd06
Merge branch 'export' 2017-09-07 15:53:34 -04:00
Joey Hess
a48b52c056
avoid renaming to temp files before deleting
Only rename when actually ncessary.

The diff gets buffered in memory. Probably git has to buffer a diff in
memory when generating it as well, so this memory usage should not be a
problem, even when the diff is very large. I hope.

This commit was supported by the NSF-funded DataLad project.
2017-09-07 14:32:47 -04:00
Joey Hess
16eb2f976c
prevent exporttree=yes on remotes that don't support exports
Don't allow "exporttree=yes" to be set when the special remote
does not support exports. That would be confusing since the user would
set up a special remote for exports, but `git annex export` to it would
later fail.

This commit was supported by the NSF-funded DataLad project.
2017-09-07 13:48:44 -04:00
Joey Hess
45d30820ac
document new stuff for external special remotes
Got rid of RENAMEEXPORT-UNSUPPORTED, no reason not to use
RENAMEEXPORT-FAILURE for that.

This commit was supported by the NSF-funded DataLad project.
2017-09-07 12:59:35 -04:00
Horus
b7dbee0607 2017-09-07 09:38:29 +00:00
Horus
1260756563 Added a comment 2017-09-07 09:30:53 +00:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
bb72640042 Added a comment 2017-09-06 22:01:57 +00:00
Joey Hess
084fbee8c8
devblog 2017-09-06 17:22:22 -04:00
Joey Hess
6ab14710fc
fix consistency bug reading from export database
The export database has writes made to it and then expects to read back
the same data immediately. But, the way that Database.Handle does
writes, in order to support multiple writers, makes that not work, due
to caching issues. This resulted in export re-uploading files it had
already successfully renamed into place.

Fixed by allowing databases to be opened in MultiWriter or SingleWriter
mode. The export database only needs to support a single writer; it does
not make sense for multiple exports to run at the same time to the same
special remote.

All other databases still use MultiWriter mode. And by inspection,
nothing else in git-annex seems to be relying on being able to
immediately query for changes that were just written to the database.

This commit was supported by the NSF-funded DataLad project.
2017-09-06 17:19:07 -04:00
Joey Hess
35cd329bd8
Merge branch 'master' into export 2017-09-06 15:49:30 -04:00
Joey Hess
3ccf661d7c
todo 2017-09-06 15:46:35 -04:00
Joey Hess
cae3704a44
export file renaming
This is seriously super hairy. It has to handle interrupted exports,
which may be resumed with the same or a different tree. It also has to
recover from export conflicts, which could cause the wrong content
to be renamed to a file.

I think this works, or is close to working. See the update to the design
for how it works.

This is definitely not optimal, in that it does more renames than are
necessary. It would probably be worth finding the keys that are really
renamed and only renaming those. But let's get the "simple" approach to
work first..

This commit was supported by the NSF-funded DataLad project.
2017-09-06 15:44:10 -04:00
Joey Hess
0fa948b402
record incomplete exports in export.log
Not yet used, but essential for resuming cleanly.

Note that, in normmal operation, only one commit is made to export.log
during an export; the incomplete version only gets to the journal and
is then overwritten.

This commit was supported by the NSF-funded DataLad project.
2017-09-06 13:45:03 -04:00
Joey Hess
1ec3a9eb05
thoughts on handling renames efficiently
This gets complicated, but I think this design will work!

This commit was supported by the NSF-funded DataLad project.
2017-09-06 13:04:09 -04:00
Joey Hess
8918b7ab09
Merge branch 'master' of ssh://git-annex.branchable.com 2017-09-06 12:26:18 -04:00
Edward Betts
c1b9f718bc
move line break to fix broken link 2017-09-06 11:25:06 -04:00
Joey Hess
fd8392b669
update 2017-09-06 11:23:04 -04:00
karel-de-macil
9a2e687b0d 2017-09-06 09:20:26 +00:00
yarikoptic
3e7d0e0de7 Added datalad "super-dataset". 2017-09-05 17:00:38 +00:00
EskildHustvedt
8755f320f5 removed 2017-09-05 09:17:44 +00:00
EskildHustvedt
70ecf52888 Added a comment: Partial exports 2017-09-05 09:16:59 +00:00
EskildHustvedt
5e15956225 Added a comment: Partial exports 2017-09-05 09:16:26 +00:00
eacousineau
b8b7a9a902 2017-09-05 01:22:19 +00:00