Commit graph

2884 commits

Author SHA1 Message Date
Joey Hess
ea3cb7d277
fix a case where file tracked by git unexpectedly becomes annex pointer file
smudge: When annex.largefiles=anything, files that were already stored in
git, and have not been modified could sometimes be converted to being
stored in the annex. Changes in 7.20191024 made this more of a problem.
This case is now detected and prevented.
2019-12-27 15:08:03 -04:00
Joey Hess
4176b335a6
implelented in v8 2019-12-26 16:39:27 -04:00
spwhitton
d107ce1e77 Added a comment 2019-12-21 23:03:46 +00:00
spwhitton
01b8eb5e3d add workaround 2019-12-21 22:20:31 +00:00
spwhitton
72c5f9132c report bug 2019-12-21 22:11:38 +00:00
spwhitton
1a5e29c47c fix copy/paste mistake 2019-12-21 04:20:40 +00:00
spwhitton
501492a40a file bug 2019-12-21 04:19:56 +00:00
Joey Hess
37467a008f
annex.addunlocked expressions
* annex.addunlocked can be set to an expression with the same format used by
  annex.largefiles, in case you want to default to unlocking some files but
  not others.
* annex.addunlocked can be configured by git-annex config.

Added a git-annex-matching-expression man page, broken out from
tips/largefiles.

A tricky consequence of this is that git-annex add --relaxed
honors annex.addunlocked, but an expression might want to know the size
or content of an url, which it's not going to download. I decided it was
better not to fail, and just dummy up some plausible data in that case.

Performance impact should be negligible. The global config is already
loaded for annex.largefiles. The expression only has to be parsed once,
and in the simple true/false case, it should not do any additional work
matching it.
2019-12-20 15:56:25 -04:00
Joey Hess
7d50e98646
thought 2019-12-19 16:44:08 -04:00
Joey Hess
e8651fbd09
comment 2019-12-19 13:39:08 -04:00
Joey Hess
37db1fa5a0
Merge branch 'bs' 2019-12-19 13:12:39 -04:00
Joey Hess
96a8b2d095
typo 2019-12-19 12:52:56 -04:00
Joey Hess
2e34516e6a
formatting 2019-12-19 12:52:12 -04:00
Joey Hess
09272507c1
comment 2019-12-19 12:50:34 -04:00
Joey Hess
67ae6ddecb
comment 2019-12-19 12:06:59 -04:00
Joey Hess
686791c4ed
more RawFilePath
Remove dup definitions and just use the RawFilePath one. </> etc are
enough faster that it's probably faster than building a String directly,
although I have not benchmarked.
2019-12-18 17:10:28 -04:00
Joey Hess
9e9def2dc0
todo 2019-12-18 16:11:18 -04:00
Joey Hess
7b7e0d8a86
wrap up 2019-12-18 15:19:19 -04:00
Joey Hess
7d9dff5b05
Merge branch 'master' into bs
and update changelog
2019-12-18 15:13:30 -04:00
Ilya_Shlyakhter
f2052f67fb Added a comment: named pipes as destination files 2019-12-18 18:41:57 +00:00
Joey Hess
7fd5376334
inprogress: Support --key 2019-12-18 14:14:16 -04:00
Joey Hess
92c566f1b2
comment 2019-12-18 13:52:43 -04:00
Joey Hess
c745fa2852
Merge branch 'master' into bs 2019-12-18 13:47:27 -04:00
Joey Hess
75c40279c1
use conversion functions from filepath-bytestring
Behavior should be the same, but I'd hope to eventually get rid of
most of Utility.FileSystemEncoding and this is a first step.
2019-12-18 13:42:43 -04:00
Joey Hess
0246ecbe94
update 2019-12-18 12:15:06 -04:00
Joey Hess
3d38ec9585
fix fileJournal
My ByteString rewrite oversimplified it, resulting in any _ in a journal
file turning into a / in the git-annex branch, which was often the wrong
filename, or sometimes (//) an invalid filename that git
refused to add.
2019-12-18 11:29:34 -04:00
spwhitton
53fdd34f79 add todo 2019-12-18 05:17:42 +00:00
https://christian.amsuess.com/chrysn
418890c5cb ask for --key on git-annex-inprogress 2019-12-17 09:21:52 +00:00
https://christian.amsuess.com/chrysn
1653957166 Added a comment: Would be useful 2019-12-17 09:08:09 +00:00
Joey Hess
8ed171c69f
more info for debugging 2019-12-11 17:12:13 -04:00
Joey Hess
7a41f94e84
add test case for bug 2019-12-11 17:09:50 -04:00
Joey Hess
2e4de42d55
bug in this branch 2019-12-11 17:08:26 -04:00
Joey Hess
c19211774f
use filepath-bytestring for annex object manipulations
git-annex find is now RawFilePath end to end, no string conversions.
So is git-annex get when it does not need to get anything.
So this is a major milestone on optimisation.

Benchmarks indicate around 30% speedup in both commands.

Probably many other performance improvements. All or nearly all places
where a file is statted use RawFilePath now.
2019-12-11 15:25:07 -04:00
Ilya_Shlyakhter
8b07ab553f Added a comment: annex-verify 2019-12-11 18:13:48 +00:00
yarikoptic
0c4bb02877 Added a comment 2019-12-10 22:01:13 +00:00
Joey Hess
3d936e4343
update re state of bs branch 2019-12-06 15:13:36 -04:00
Joey Hess
8051deb352
update re state of bs branch 2019-12-06 15:13:13 -04:00
Joey Hess
c7a4411e71
Merge branch 'master' into bs 2019-12-05 11:41:30 -04:00
Joey Hess
b88f89c1ef
get the most commonly used commands building again
A quick benchmark of whereis shows not much speed improvement, maybe a
few percent. Profiling it found a hotspot, adds to todo.
2019-12-04 13:45:18 -04:00
remyabel@65018526f3b5d4c0d36e4b970aacc540e590bf23
7475a647f3 removed 2019-11-30 21:41:23 +00:00
remyabel@65018526f3b5d4c0d36e4b970aacc540e590bf23
d4e5c8e677 2019-11-30 19:51:42 +00:00
yarikoptic
9b5240ce83 Added a comment: reference original bug report 2019-11-29 17:58:29 +00:00
Joey Hess
d7833def66
use ByteString for git config
The parser and looking up config keys in the map should both be faster
due to using ByteString.

I had hoped this would speed up startup time, but any improvement to
that was too small to measure. Seems worth keeping though.

Note that the parser breaks up the ByteString, but a config map ends up
pointing to the config as read, which is retained in memory until every
value from it is no longer used. This can change memory usage
patterns marginally, but won't affect git-annex.
2019-11-27 17:40:09 -04:00
Ilya_Shlyakhter
7d3750682b git-annex-cat 2019-11-27 18:16:35 +00:00
Joey Hess
d830386ab2
update based on profiling
While L.toStrict copies, profiling showed it was only around 0.3% of
git-annex find runtime. Does not seem worth optimising that, which would
probably involve either a major refactoring, or a use of
UnsafeInterleaveIO.

Also, it seems to me that the latter would need to read chunks, and
preappend the leftover part to the next chunk. But a strict ByteString
append itself is a copy, so I'm not convinced that would be faster than
L.toStrict.
2019-11-27 14:09:11 -04:00
Ilya_Shlyakhter
9f4b99a0e7 Added a comment: parallelization 2019-11-27 17:23:15 +00:00
Ilya_Shlyakhter
a27ffd3aec Added a comment: representing paths 2019-11-27 15:08:41 +00:00
Joey Hess
a2b566be29
Merge branch 'master' of ssh://git-annex.branchable.com 2019-11-26 16:12:53 -04:00
Joey Hess
3361edfb61
todo for bs branch 2019-11-26 16:11:55 -04:00
Ilya_Shlyakhter
dd58cfd8e1 Added a comment: use named pipes? 2019-11-25 16:45:27 +00:00
yarikoptic
70172712a5 initial idea on joint "get+checksum" 2019-11-25 03:26:23 +00:00
Ilya_Shlyakhter
1f035c0d66 Added a comment: even git mv -f seems to work correctly 2019-11-24 17:25:32 +00:00
Ilya_Shlyakhter
20da59f62f Added a comment: moving unlocked file onto locked file isn't possible 2019-11-24 16:36:24 +00:00
Joey Hess
4cc6985494
todo 2019-11-22 19:47:53 -04:00
Joey Hess
93789cbf40
close as dup 2019-11-22 12:11:04 -04:00
Joey Hess
cf2e23d39c
close not viable 2019-11-22 12:10:59 -04:00
Joey Hess
64e21f683c
Merge branch 'master' of ssh://git-annex.branchable.com 2019-11-19 14:13:22 -04:00
Joey Hess
c0117044ae
todo 2019-11-19 14:13:01 -04:00
Ilya_Shlyakhter
0822ee52dd Added a comment: import/export 2019-11-19 17:39:47 +00:00
Joey Hess
3b64e35694
comments 2019-11-19 13:19:45 -04:00
Joey Hess
581eb7a3de
comments 2019-11-19 13:07:54 -04:00
Joey Hess
49cf86cfc0
Merge branch 'master' of ssh://git-annex.branchable.com 2019-11-18 16:27:17 -04:00
Joey Hess
b207d944f3
sync, assistant: Pull and push from git-lfs remotes.
Oversight, forgot to add it to gitSyncableRemote
2019-11-18 16:13:21 -04:00
Joey Hess
5877de5e80
git-lfs: remember urls, and autoenable remotes using known urls
* git-lfs: The url provided to initremote/enableremote will now be
  stored in the git-annex branch, allowing enableremote to be used without
  an url. initremote --sameas can be used to add additional urls.
* git-lfs: When there's a git remote with an url that's known to be
  used for git-lfs, automatically enable the special remote.
2019-11-18 16:09:09 -04:00
Joey Hess
d06b5bcd7b
todo 2019-11-18 13:57:16 -04:00
stefan.huchler@5f110ab85a15aec7e2b38586eb7ec37b12e2e6aa
7fd870d78b 2019-11-16 05:53:02 +00:00
Ilya_Shlyakhter
4b5040818b added todo "change git-annex-import not to delete original files by default" 2019-11-15 18:53:16 +00:00
yarikoptic
58be3af084 Added a comment 2019-11-13 04:41:56 +00:00
Joey Hess
3129923867
comment 2019-11-12 16:37:24 -04:00
Ilya_Shlyakhter
41bb14a885 added todo about documenting sqlite database schemas 2019-11-10 23:27:57 +00:00
Ilya_Shlyakhter
b7a3ba9434 Added a comment: limiting clean/smudge filter to unlocked files 2019-11-08 19:48:11 +00:00
yarikoptic
ea7959353e Added a comment: RFC: how would it work for regular git remote + special remote 2019-11-08 19:19:19 +00:00
Joey Hess
8f276f33b7
update status of sqlite branch 2019-11-07 13:26:05 -04:00
Joey Hess
41825195ba
Merge branch 'master' of ssh://git-annex.branchable.com 2019-11-05 12:51:50 -04:00
Joey Hess
fccfcba89f
update to document current state of sqlite branch 2019-11-05 12:50:53 -04:00
Ilya_Shlyakhter
59fa021c3d added todo re: git-annex-sync handling of linked worktrees 2019-11-03 23:06:39 +00:00
Ilya_Shlyakhter
72252e1be4 more notes on communicating breaking changes 2019-10-31 15:52:10 +00:00
yarikoptic
cc62ba1da8 Added a comment: ACLs keep fighting back 2019-10-29 18:03:57 +00:00
Ilya_Shlyakhter
cd482f3cd6 added todo "warn of breaking changes same way git does" 2019-10-24 22:05:46 +00:00
Joey Hess
8fb1350a2c
Merge branch 'master' of ssh://git-annex.branchable.com 2019-10-23 15:30:55 -04:00
Joey Hess
bd197be3ad
annex.gitaddtoannex configuration
Added annex.gitaddtoannex configuration. Setting it to false prevents
git add from usually adding files to the annex.
(Unless the file was annexed before, or a renamed annexed file is detected.)

Currently left at true; some users are encouraging it be set to false.
2019-10-23 15:29:46 -04:00
Joey Hess
94efc400e9
horrible impementation of isInodeKnown
The only good thing about it is it does not require a major version bump
to improve the database. That will need to happen at some point though.

Potentially very very slow in a large repository.

Ugly use of raw sql.
2019-10-23 14:37:29 -04:00
Ilya_Shlyakhter
2d33c62965 Added a comment: configuring git add behavior 2019-10-23 17:57:03 +00:00
Ilya_Shlyakhter
bdf6d2eb48 Added a comment: preventing git add from annexing new files 2019-10-23 17:05:42 +00:00
Ilya_Shlyakhter
5f7036d0a7 Added a comment: searching by inode 2019-10-23 16:32:37 +00:00
spwhitton
f67285f079 Added a comment 2019-10-23 15:28:56 +00:00
Joey Hess
c4374e4aee
followup 2019-10-22 14:36:31 -04:00
Joey Hess
5581dc3318
comment 2019-10-22 13:30:04 -04:00
Joey Hess
913ac80d33
close a bug report redundant with an existing todo
copied over the dandi tag

updated the todo, as now that sameas is done it's unblocked
2019-10-21 15:23:04 -04:00
cds@be5df0987fc4e414401b86f980a60f7bf0288037
70702c63a8 Making a todo as requested on IRC. 2019-10-16 02:34:53 +00:00
Joey Hess
8ef5e79f79
sameas done and merged 2019-10-14 16:07:49 -04:00
Joey Hess
123d0d9add
Merge branch 'sameas' 2019-10-14 16:07:19 -04:00
Joey Hess
37f0abbca8
looked over all my old comments, current status of all concerns 2019-10-11 16:06:42 -04:00
Joey Hess
37f725a9f7
Merge branch 'master' into sameas 2019-10-11 15:56:00 -04:00
Joey Hess
debafcba2b
autoenable sameas remotes 2019-10-11 15:52:40 -04:00
Joey Hess
ec778888d2
got enableremote working for sameas
Also the assistant can enable sameas remotes, should work, but not
tested.
2019-10-11 15:11:08 -04:00
Joey Hess
35d7ffe128
initremote --sameas fully working
And using sameas remotes is working.

Moved annex-config-uuid setting out of Remote.Helper.Special.
EnableRemote will also have to set it.
2019-10-11 14:19:10 -04:00
Joey Hess
1b9c1d1737
fix sameas inherited key removal 2019-10-11 13:18:27 -04:00
Ilya_Shlyakhter
8432c3912f Added a comment: preventing inadvertently adding annexed files in unlocked form 2019-10-11 16:38:07 +00:00
Joey Hess
2bd6e81bb0
support annex-config-uuid when generating remote
This is used by a special remote with sameas-uuid=
The remote's uuid is the sameas-uuid, but it needs to get
its RemoteConfig from the annex-config-uuid.
2019-10-11 12:34:11 -04:00