Commit graph

34828 commits

Author SHA1 Message Date
andrew
66b1f2bd15 Added a comment 2019-05-21 23:33:57 +00:00
Joey Hess
52df1b2015
devblog 2019-05-21 15:05:57 -04:00
Joey Hess
d98dc13345
update for preferred content 2019-05-21 14:56:45 -04:00
Joey Hess
e06feb7316
honor preferred content when importing
Importing from a special remote honors its preferred content too; unwanted
files are not imported. But, some preferred content expressions can't be
checked before files are imported, and trying to import with such an
expression will fail.

Tested this with scenarios including changing the preferred content
expression and making sure merging the import didn't delete files that were
no longer wanted.

There was one minor inefficiency mentioned in the todo that I punted on.
2019-05-21 14:38:06 -04:00
Joey Hess
ec11575d17
hairyness 2019-05-21 12:54:57 -04:00
Joey Hess
0bd39c1315
remove a TODO I checked yesterday 2019-05-21 12:54:39 -04:00
Joey Hess
3b9a19171a
Merge branch 'master' into preferred 2019-05-21 11:34:45 -04:00
Joey Hess
5e1221ad53
Improve shape of commit tree when importing from unversioned special remotes
Make the import have the previous import as a parent, so eg `git log --stat`
displays a useful diff.

Also a minor optimisation, only calculate the depth of the imported history
once.
2019-05-21 11:32:54 -04:00
Joey Hess
5af9e7f3d0
break out a todo 2019-05-21 11:10:13 -04:00
Joey Hess
e51ca437c4
Merge branch 'master' of ssh://git-annex.branchable.com 2019-05-20 16:46:26 -04:00
Joey Hess
357f420ba3
devblog 2019-05-20 16:46:14 -04:00
Joey Hess
97fd9da6e7
add back non-preferred files to imported tree
Prevents merging the import from deleting the non-preferred files from
the branch it's merged into.

adjustTree previously appended the new list of items to the old, which
could result in it generating a tree with multiple files with the same
name. That is not good and confuses some parts of git. Gave it a
function to resolve such conflicts.

That allowed dealing with the problem of what happens when the import
contains some files (or subtrees) with the same name as files that were
filtered out of the export. The files from the import win.
2019-05-20 16:43:52 -04:00
Joey Hess
7d177b78e4
docs for export preferred content
This includes a note about how include= and exclude= match when exporting
a subtree. I don't know if the note is prominent enough, but the
behavior seems unsurprising enough.
2019-05-20 12:06:02 -04:00
Joey Hess
568af1073e
filter exported tree through remote's preferred content setting
The filtering is fairly efficient as far as building the trees goes,
since it reuses adjustTree. But it still needs to traverse the whole
tree, and look up the keys used by every file.

The tree that gets recorded to export.log is the filtered tree.
This way resumes of interrupted sync to an export uses it without
needing to recalculate it. And, a change to the preferred content
settings of the remote will result in a different tree, so the export
will be updated accordingly.

The original tree is still used in the remote tracking branch.
That branch represents the special remote as a git remote, and if it
were a normal git remote, the tree in its head would not be affected by
preferred content.
2019-05-20 11:54:55 -04:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
8bec41ceed Added a comment 2019-05-20 15:23:45 +00:00
Joey Hess
12451ea010
Merge branch 'master' into preferred 2019-05-20 10:00:03 -04:00
Joey Hess
fb69a8c215
retitle 2019-05-20 09:59:12 -04:00
Joey Hess
4894bfe3ea
comment 2019-05-20 09:58:36 -04:00
Joey Hess
2246aef3b8
Merge branch 'master' of ssh://git-annex.branchable.com 2019-05-20 09:51:25 -04:00
Joey Hess
cc6eb46ac2
Merge branch 'master' of ssh://git-annex.branchable.com 2019-05-20 09:50:56 -04:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
06bc46eaa2 Added a comment: it's zsh 2019-05-19 10:05:27 +00:00
anthony@2b89f08c5c67f83d920fe464d7363db8f45cec20
b7a8264c2f Added a comment 2019-05-19 08:39:09 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
02a3160ca5 Added a comment: .profile doesn't take effect 2019-05-18 19:46:09 +00:00
Joey Hess
2d7f295b90
todo 2019-05-17 21:15:36 -04:00
ply
c70f344af4 Added a comment 2019-05-17 20:55:48 +00:00
Ilya_Shlyakhter
d803c1c331 reported issue with git-annex-init silently overwriting repo description 2019-05-17 17:51:25 +00:00
Joey Hess
8958556fe3
thought 2019-05-16 20:41:17 -04:00
Ilya_Shlyakhter
33c16fd936 reported still seeing errors with git-annex-add 2019-05-16 18:36:44 +00:00
aragilar
bea10be73c Added a comment 2019-05-16 08:26:28 +00:00
derobert
1a33402476 Added a comment 2019-05-16 08:12:45 +00:00
aragilar
117c009f23 2019-05-16 06:27:23 +00:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
2d7186b43d Added a comment 2019-05-15 17:55:58 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
a275f65662 Added a comment: Are we talking about a different installer? 2019-05-14 19:57:41 +00:00
Joey Hess
428435c37c
comment 2019-05-14 15:30:38 -04:00
Joey Hess
6a012c7d0c
Merge branch 'master' of ssh://git-annex.branchable.com 2019-05-14 15:25:21 -04:00
Joey Hess
24c8b1b15a
update 2019-05-14 15:25:09 -04:00
Ilya_Shlyakhter
846bf51421 Added a comment 2019-05-14 19:23:33 +00:00
Joey Hess
f4de45332c
wording 2019-05-14 15:18:43 -04:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
f986210657 Added a comment: Should be in ~/.profile 2019-05-14 19:15:08 +00:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
4e7444cbf1 2019-05-14 19:02:27 +00:00
Joey Hess
354c0eb57f
support standard and groupwanted in keyless mode
Only when the preferred content expression includes them will a parse
failure due to them needing keys result in the preferred content
expression not parsing in keyless mode.
2019-05-14 14:59:03 -04:00
Joey Hess
5266da2cdd
docs for importing preferred content 2019-05-14 14:43:51 -04:00
Joey Hess
156069f621
Merge branch 'master' into preferred 2019-05-14 14:29:49 -04:00
Joey Hess
f29da41367
fix man page formatting 2019-05-14 14:29:40 -04:00
Joey Hess
9411a7c93c
matching preferred content before key is known
This will let import try to match preferred content expressions before
downloading the content and generating its key.

If an expression needs a key, it preferredContentParser with
preferredContentKeylessTokens will fail to parse it.

standard and groupwanted are not in preferredContentKeylessTokens
because they may refer to an expression that refers to a key.
That needs further work to support them.
2019-05-14 14:28:23 -04:00
Joey Hess
aa7710982b
avoid list lookup by parseToken
Minor optimisation to parsing of a preferred content expression.
2019-05-14 13:11:29 -04:00
Joey Hess
c1957b6aeb
whitespace 2019-05-14 13:01:50 -04:00
Joey Hess
5cc0ee70c0
factor out MatchFiles Annex
This makes parseToken more general
2019-05-14 12:44:50 -04:00
Joey Hess
a3e24ed533
more design work 2019-05-14 11:49:23 -04:00
Joey Hess
c5a61ee808
closing in on final design for this 2019-05-14 10:52:00 -04:00