git-annex/Annex
Joey Hess 9a67ed0f10
importtree: support preferred content expressions needing keys
When importing from a special remote, support preferred content expressions
that use terms that match on keys (eg "present", "copies=1"). Such terms
are ignored when importing, since the key is not known yet.

When "standard" or "groupwanted" is used, the terms in those
expressions also get pruned accordingly.

This does allow setting preferred content to "not (copies=1)" to make a
special remote into a "source" type of repository. Importing from it will
import all files. Then exporting to it will drop all files from it.

In the case of setting preferred content to "present", it's pruned on
import, so everything gets imported from it. Then on export, it's applied,
and everything in it is left on it, and no new content is exported to it.

Since the old behavior on these preferred content expressions was for
importtree to error out, there's no backwards compatability to worry about.
Except that sync/pull/etc will now import where before it errored out.
2023-12-18 16:27:59 -04:00
..
AdjustedBranch fix empty tree import when directory does not exist 2023-08-15 12:57:41 -04:00
Branch newtype MapLog 2023-11-13 14:37:22 -04:00
Concurrent
Content migrate: support adding size back to URL keys 2023-12-08 16:22:14 -04:00
Debug
LockPool
MetaData sqlite datbase for importfeed 2023-10-23 16:46:22 -04:00
SpecialRemote
VectorClock Lower precision of timestamps in git-annex branch 2023-12-11 15:04:06 -04:00
View
Action.hs
AdjustedBranch.hs
AutoMerge.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
BloomFilter.hs
Branch.hs started migrate --update 2023-12-07 15:50:52 -04:00
BranchState.hs
CatFile.hs
ChangedRefs.hs
CheckAttr.hs
CheckIgnore.hs
Common.hs
Concurrent.hs
Content.hs migrate: support adding size back to URL keys 2023-12-08 16:22:14 -04:00
CopyFile.hs
CurrentBranch.hs
Debug.hs display explanations in --debug too 2023-07-31 13:06:40 -04:00
Difference.hs
DirHashes.hs
Drop.hs
Environment.hs
Export.hs
ExternalAddonProcess.hs
FileMatcher.hs importtree: support preferred content expressions needing keys 2023-12-18 16:27:59 -04:00
Fixup.hs
GitOverlay.hs
HashObject.hs
Hook.hs
Import.hs importtree: support preferred content expressions needing keys 2023-12-18 16:27:59 -04:00
Ingest.hs log migration trees to git-annex branch 2023-12-06 15:40:03 -04:00
Init.hs
InodeSentinal.hs
Journal.hs
Link.hs fix hang when built with unix-2.8 2023-08-01 20:22:28 -04:00
Locations.hs started migrate --update 2023-12-07 15:50:52 -04:00
LockFile.hs
LockPool.hs
Magic.hs
MetaData.hs
Multicast.hs
Notification.hs
NumCopies.hs improve message about 1 copy 2023-12-04 11:12:54 -04:00
Path.hs
Perms.hs
PidLock.hs
Queue.hs
RemoteTrackingBranch.hs
ReplaceFile.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
SpecialRemote.hs
Ssh.hs
StallDetection.hs
TaggedPush.hs simplify base64 to only use ByteString 2023-10-26 13:10:05 -04:00
Tmp.hs fix empty tree import when directory does not exist 2023-08-15 12:57:41 -04:00
Transfer.hs
TransferrerPool.hs
UntrustedFilePath.hs
UpdateInstead.hs
Url.hs avoid unncessary use of curl when conduit will do 2023-08-22 10:25:53 -04:00
UUID.hs eliminate s2w8 and w82s 2023-10-26 13:12:57 -04:00
VariantFile.hs
VectorClock.hs
Verify.hs
Version.hs
View.hs
Wanted.hs
WorkerPool.hs
WorkTree.hs
YoutubeDl.hs