Commit graph

4079 commits

Author SHA1 Message Date
Joey Hess
4a30fddc2a
idea 2021-04-01 15:49:30 -04:00
Joey Hess
632ae09e28
comment 2021-04-01 12:24:21 -04:00
Ilya_Shlyakhter
4dde355c79 Added a comment: dockerized special remotes: security 2021-04-01 15:20:05 +00:00
Joey Hess
24c576bfa7
Merge branch 'master' of ssh://git-annex.branchable.com 2021-03-30 12:58:34 -04:00
Lukey
a366e9d0fc Added a comment 2021-03-30 16:21:14 +00:00
Joey Hess
773752b040
comment 2021-03-30 12:06:36 -04:00
Lukey
568f1c421b Added a comment 2021-03-30 16:01:04 +00:00
Ilya_Shlyakhter
4403791c6c Added a comment: autoenabling external special remotes 2021-03-30 15:17:05 +00:00
Ilya_Shlyakhter
9b8661c327 added suggestion to have git-annex-info display the time of last interaction with repos 2021-03-30 14:31:14 +00:00
parhuzamos
72f5088d34 2021-03-26 12:34:01 +00:00
parhuzamos
2187892a81 2021-03-26 12:31:47 +00:00
Ilya_Shlyakhter
a4cc0c95b4 added suggestion for additional git-annex-config settings 2021-03-23 20:11:39 +00:00
Ilya_Shlyakhter
547a5a8ca8 Added a comment: annex.supportunlocked=false 2021-03-23 20:02:19 +00:00
Joey Hess
f19271c5d9
comment 2021-03-23 15:51:21 -04:00
Joey Hess
806b6f77b9
Merge branch 'master' of ssh://git-annex.branchable.com 2021-03-23 15:47:21 -04:00
Ilya_Shlyakhter
3925235805 Added a comment: annex.supportunlocked 2021-03-23 19:30:44 +00:00
Joey Hess
5d78cd9d08
Sped up git-annex init in a clone of an existing repository
Seems that hasOrigin was never finding origin's git-annex branch, so a new
one got created each time. And so then it later needed to merge the two
branches, which is expensive.

Added --no-track to git branch to avoid it displaying a message about
setting up tracking branches. Of course there's no reason to make the
git-annex branch a tracking branch since git-annex auto-merges it.
2021-03-23 15:23:13 -04:00
yarikoptic
ed5fd5b896 Added a comment 2021-03-23 18:43:32 +00:00
Joey Hess
798f685077
New annex.supportunlocked config
Can beet to false to avoid some expensive things needed to support unlocked
files.

See my comment for why this only controls what init sets up, and not other
behavior.

I didn't bother with making the v5 upgrade code path look at this, though
it easily could, because the docs say to run git-annex init after setting
it to make it take effect.
2021-03-23 14:04:34 -04:00
Joey Hess
af96b49145
comment 2021-03-23 13:53:32 -04:00
Joey Hess
d89a9b0f78
comments 2021-03-23 12:05:05 -04:00
Ilya_Shlyakhter
14fafeea8a Added a comment: another deduplication option 2021-03-22 13:51:35 +00:00
Ilya_Shlyakhter
800b13f4ac Added a comment: installing clean/smudge filter lazily 2021-03-19 02:30:16 +00:00
Ilya_Shlyakhter
9bde743eae Added a comment: install clean/smudge filter only when needed 2021-03-18 15:47:03 +00:00
Joey Hess
02e74c010b
todo 2021-03-16 17:18:35 -04:00
Joey Hess
7dabbe4520
comment 2021-03-16 14:56:08 -04:00
yarikoptic
d0b56f113c an idea to avoid lengthy Scanning for unlocked files (this may take some time) 2021-03-15 17:57:53 +00:00
Ilya_Shlyakhter
b4022decb8 Added a comment: re: individually hash chunks 2021-03-15 15:23:09 +00:00
0xloem@0bd8a79a57e4f0dcade8fc81d162c37eae4d6730
32f773ae8f 2021-03-15 07:08:08 +00:00
Joey Hess
37263e97c7
comment 2021-03-12 11:45:28 -04:00
meribold
96b549779a Added a comment 2021-03-12 03:58:08 +00:00
Joey Hess
22d8ec6d74
comment 2021-03-11 13:06:24 -04:00
Joey Hess
06f86379b0
todo from comment 2021-03-11 12:26:10 -04:00
Joey Hess
b05f8458fb
remove tag 2021-03-08 14:47:40 -04:00
Joey Hess
e8065ee99d
close todo 2021-03-05 14:46:09 -04:00
Joey Hess
8d983b6432
comment 2021-03-05 12:39:57 -04:00
Joey Hess
eb594c710e
unregisterurl: New command
Implemented by generalizing registerurl. Without the implicit batch mode
of registerurl since that is only a backwards compatability thing
(see commit 1d1054faa6).
2021-03-01 14:28:24 -04:00
Joey Hess
06665d733a
comment 2021-03-01 13:52:19 -04:00
Joey Hess
db2e0485ae
Merge branch 'master' of ssh://git-annex.branchable.com 2021-03-01 13:10:50 -04:00
Ilya_Shlyakhter
cd682cf227 Added a comment: issue of pushing refs to annexed files but not info on how to fetch them 2021-03-01 16:46:57 +00:00
Joey Hess
9835fa5d01
todo 2021-02-26 12:12:41 -04:00
kyle
4c48791d41 Added a comment 2021-02-25 21:25:52 +00:00
kyle
9d96f41185 Added a comment: setpresentkey 0 2021-02-25 21:18:50 +00:00
yarikoptic
e5a24a502c or just a rmurl --key? 2021-02-25 20:37:25 +00:00
yarikoptic
4c1ffaac56 TODO for unregisterurl 2021-02-25 20:27:46 +00:00
Joey Hess
62d5a73bdd
unannex, uninit: Avoid running git rm once per annexed file, for a large speedup. 2021-02-22 12:56:11 -04:00
git-annex.branchable.com@d12f3f46c9222459d17f96bc7be04f7cd03a6732
1e4fac1046 Added a comment 2021-02-21 15:50:49 +00:00
git-annex.branchable.com@d12f3f46c9222459d17f96bc7be04f7cd03a6732
26c19de0d9 Add workaround 2021-02-20 19:05:42 +00:00
git-annex.branchable.com@d12f3f46c9222459d17f96bc7be04f7cd03a6732
c37bfccb63 Initial report 2021-02-20 19:04:18 +00:00
yarikoptic
a876884987 initial observation about slow uninit 2021-02-19 17:08:39 +00:00
Joey Hess
cb7bb3e4b9
comment 2021-02-10 21:49:25 -04:00
Joey Hess
e3832af5d5
Merge branch 'master' of ssh://git-annex.branchable.com 2021-02-10 16:40:16 -04:00
Joey Hess
f44d4704c6
incremental checksum for local remotes
This benchmarks only slightly faster than the old git-annex. Eg, for a 1
gb file, 14.56s vs 15.57s. (On a ram disk; there would certianly be
more of an effect if the file was written to disk and didn't stay in
cache.)

Commenting out the updateIncremental calls make the same run in 6.31s.
May be that overhead in the implementation, other than the actual
checksumming, is slowing it down. Eg, MVar access.

(I also tried using 10x larger chunks, which did not change the speed.)
2021-02-10 16:05:24 -04:00
Joey Hess
6487a75d33
comment 2021-02-10 13:15:00 -04:00
yarikoptic
f5c3eb86f9 Added a comment 2021-02-09 22:48:07 +00:00
Joey Hess
d8598dc3a0
comment 2021-02-09 17:05:56 -04:00
Joey Hess
fd51b0cd83
comment 2021-02-09 13:42:49 -04:00
Joey Hess
cbe84b62b9
close 2021-02-08 18:17:59 -04:00
Joey Hess
8f3554a7a8
close as dup 2021-02-08 14:19:43 -04:00
Joey Hess
dd39e9e255
suggest when user may want annex.stalldetection
When annex.stalldetection is not enabled, and a likely stall is detected,
display a suggestion to enable it.

Note that the progress meter display is not taken down when displaying
the message, so it will display like this:

	0%    8 B                 0 B/s
	  Transfer seems to have stalled. To handle stalling transfers, configure annex.stalldetection
	0%    10 B                0 B/s

Although of course if it's really stalled, it will never update
again after the message. Taking down the progress meter and starting
a new one doesn't seem too necessary given how unusual this is,
also this does help show the state it was at when it stalled.

Use of uninterruptibleCancel here is ok, the thread it's canceling
only does STM transactions and sleeps. The annex thread that gets
forked off is separate to avoid it being canceled, so that it
can be joined back at the end.

A module cycle required moving from dupState the precaching of the
remote list. Doing it at startConcurrency should cover all the cases
where the remote list is used in concurrent actions.

This commit was sponsored by Kevin Mueller on Patreon.
2021-02-03 15:57:19 -04:00
Joey Hess
135757d64a
automatic stall detection
annex.stalldetection can now be set to "true" to make git-annex do
automatic stall detection when it detects a remote is updating its transfer
progress consistently enough.

This commit was sponsored by Luke Shumaker on Patreon.
2021-02-03 13:33:57 -04:00
Joey Hess
904689f11b
Merge branch 'master' of ssh://git-annex.branchable.com 2021-02-02 19:39:24 -04:00
guardcat
ebb805b611 2021-02-02 21:04:21 +00:00
Joey Hess
aec2cf0abe
addon commands
Seems only fair, that, like git runs git-annex, git-annex runs
git-annex-foo.

Implementation relies on O.forwardOptions, so that any options are passed
through to the addon program. Note that this includes options before the
subcommand, eg: git-annex -cx=y foo

Unfortunately, git-annex eats the --help/-h options.
This is because it uses O.hsubparser, which injects that option into each
subcommand. Seems like this should be possible to avoid somehow, to let
commands display their own --help, instead of the dummy one git-annex
displays.

The two step searching mirrors how git works, it makes finding
git-annex-foo fast when "git annex foo" is run, but will also support fuzzy
matching, once findAllAddonCommands gets implemented.

This commit was sponsored by Dr. Land Raider on Patreon.
2021-02-02 16:32:49 -04:00
Joey Hess
d0fe0c5e10
close old todo 2021-02-02 13:25:58 -04:00
Joey Hess
696ee5d464
close 2021-02-02 13:21:34 -04:00
Joey Hess
233b2ab133
reject 2021-02-02 13:19:28 -04:00
Joey Hess
80a16a9dc8
remove no longer relevant part 2021-02-02 13:15:32 -04:00
Joey Hess
811399c8a1
meant to close this earlier 2021-02-02 13:12:47 -04:00
Joey Hess
cdbf80d338
comment 2021-02-02 13:10:07 -04:00
Joey Hess
5cad76198a
close 2021-02-02 12:52:00 -04:00
Joey Hess
d631304237
remove priority tag (unused) 2021-02-02 12:42:20 -04:00
Joey Hess
02b5bd224e
move to todo 2021-01-29 13:07:49 -04:00
Joey Hess
b372d962ae
Added GETGITREMOTENAME to extenal special remote protocol 2021-01-26 12:42:47 -04:00
Joey Hess
a11dad646c
Merge branch 'master' of ssh://git-annex.branchable.com 2021-01-26 11:32:52 -04:00
Joey Hess
8a8491b5b9
update 2021-01-26 11:32:40 -04:00
Joey Hess
4d8ce4464f
add 2021-01-26 11:27:14 -04:00
hello@6d9a437cebceb2fc657f93c4f30a7ba859e9309c
8d3bc1d3cb Added a comment: Other benefits of proposed improvements to the smudge/clean API 2021-01-26 14:25:59 +00:00
Joey Hess
9b2711167c
Merge branch 'master' of ssh://git-annex.branchable.com 2021-01-19 13:20:22 -04:00
Joey Hess
73df633a62
omit inode from ContentIdentifier for directory special remote
Directory special remotes with importtree=yes now avoid unncessary overhead
when inodes of files have changed, as happens whenever a FAT filesystem
gets remounted.

A few unusual edge cases of modifications won't be detected and
imported. I think they're unusual enough not to be a concern. It would
be possible to add a config setting that controls whether to compare
inodes too, but does not seem worth bothering the user about currently.

I chose to continue to use the InodeCache serialization, just with the
inode zeroed. This way, if I later change my mind or make it
configurable, can parse it back to an InodeCache and operate on it. The
overhead of storing a 0 in the content identifier log seems worth it.

There is a one-time cost to this change; all directory special remotes
with importtree=yes will re-hash all files once, and will update the
content identifier logs with zeroed inodes.

This commit was sponsored by Brett Eisenberg on Patreon.
2021-01-19 13:15:07 -04:00
Lukey
b11aa063ae Added a comment 2021-01-19 16:27:07 +00:00
Joey Hess
2b458c2d68
comment and todo 2021-01-19 11:56:27 -04:00
Joey Hess
96a7a1fb71
close 2021-01-11 12:26:52 -04:00
Joey Hess
515f54bd70
idea 2021-01-10 16:32:44 -04:00
Joey Hess
4694c2bb87
Merge branch 'master' into requirednumcopies 2021-01-06 14:24:09 -04:00
Joey Hess
cc89699457
mincopies
This is conceptually very simple, just making a 1 that was hard coded be
exposed as a config option. The hard part was plumbing all that, and
dealing with complexities like reading it from git attributes at the
same time that numcopies is read.

Behavior change: When numcopies is set to 0, git-annex used to drop
content without requiring any copies. Now to get that (highly unsafe)
behavior, mincopies also needs to be set to 0. It seemed better to
remove that edge case, than complicate mincopies by ignoring it when
numcopies is 0.

This commit was sponsored by Denis Dzyubenko on Patreon.
2021-01-06 14:15:19 -04:00
Joey Hess
8d8cdbec56
branch 2021-01-05 14:28:54 -04:00
Joey Hess
5ce61c6b2a
add: Significantly speed up adding lots of non-large files to git
* add: Significantly speed up adding lots of non-large files to git,
  by disabling the annex smudge filter when running git add.
* add --force-small: Run git add rather than updating the index itself,
  so any other smudge filters than the annex one that may be enabled will
  be used.
2021-01-04 13:12:28 -04:00
Joey Hess
e7b0754171
comment and todo 2021-01-04 12:26:48 -04:00
Joey Hess
9a3998392e
close import_tree todo
Split out two todos for things that were mentioned as still open items
in there. Most of the others were already dealt with. I didn't open a
new todo for the import from readonly S3 bucket because I guess if
someone needs that, they can ask for it.
2020-12-30 13:40:49 -04:00
Joey Hess
b16e6fb4e6
borg appendonly config 2020-12-28 16:23:38 -04:00
Joey Hess
6280af2901
generate more compact git-annex branch for imports
Especially from borg, where the content identifier logs
all end up being the same identical file!

But also, for other imports, the location tracking logs can,
in some cases, be identical files.

Bonus optimisation: Avoid looking up (and parsing when set)
GIT_ANNEX_VECTOR_CLOCK env var every time a log is written to.
Although the lookup does happen at startup even when no
log will be written now.
2020-12-23 15:25:16 -04:00
Joey Hess
7916fc98a3
graft in imported tree to avoid gc
Fix a bug that could prevent getting files from an importtree=yes remote,
because the imported tree was allowed to be garbage collected.
2020-12-23 14:27:38 -04:00
Joey Hess
e3d356fe84
borg: add subdir= config
Note that, after changing it with enableremote, syncing won't rescan
known archives in the borg repo using the changed config. Probably not a
problem?

Also used File in some places where filenames that could theoretically
start with - are passed to borg, to avoid it confusing them with
options.
2020-12-23 13:12:11 -04:00
Joey Hess
1574972ba9
make sync --content get from third-party populated remotes like borg 2020-12-23 12:10:39 -04:00
Joey Hess
79729bcd76
todo 2020-12-22 16:37:19 -04:00
Joey Hess
a2fe994ebb
move unimplemented option to todo 2020-12-22 16:28:13 -04:00
Joey Hess
cd4c68924b
merged borg
Still a couple related todos, but it's basically usable now.
2020-12-22 16:22:44 -04:00
Joey Hess
2335476e1e
todo 2020-12-22 16:19:02 -04:00
Joey Hess
4254e2297d
implement retrieveExportWithContentIdentifier
Moved out an XXX to a todo

This seems about ready to merge..
2020-12-22 16:16:48 -04:00
Joey Hess
f31bdd0b19
todo 2020-12-22 15:01:07 -04:00
Joey Hess
82e43da936
todo 2020-12-22 15:00:11 -04:00
Joey Hess
f62aee0525
fix handling of importtree-only remotes
Don't want to try to use these remotes as key/value remotes, which will
surely fail. It only recently became possible for importtree to be set
w/o exporttree, so before this code was ok.

(cherry picked from commit 97599cb0f7f4115aa5a3e81a91ee3d1d6c52dc84)
2020-12-18 15:13:30 -04:00
Joey Hess
4c63cab467
todo 2020-12-17 16:30:51 -04:00
Joey Hess
2abda21123
update 2020-12-15 16:35:06 -04:00
Joey Hess
117d270bb4
comment 2020-12-15 16:34:16 -04:00
Joey Hess
74c1e0660b
propagate git-annex -c on to transferrer child process
git -c was already propagated via environment, but need this for
consistency.

Also, notice it does not use gitAnnexChildProcess to run the
transferrer. So nothing is done about avoid it taking the
pid lock. It's possible that the caller is already doing something that
took the pid lock, and if so, the transferrer will certianly fail,
since it needs to take the pid lock too. This may prevent combining
annex.stalldetection with annex.pidlock, but I have not verified it's
really a problem. If it was, it seems git-annex would have to take
the pid lock when starting a transferrer, and hold it until shutdown,
or would need to take pid lock when starting to use a transferrer,
and hold it until done with a transfer and then drop it. The latter
would require starting the transferrer with pid locking disabled for the
child process, so assumes that the transferrer does not do anyting that
needs locking when not running a transfer.
2020-12-15 11:36:25 -04:00
Joey Hess
75acf5f440
improve some edge cases around partial initialization
* Guard against running in a repo where annex.uuid is set but
  annex.version is set, or vice-versa.
* Avoid autoinit when a repo does not have annex.version or annex.uuid
  set, but has a git-annex objects directory, suggesting it was used
  by git-annex before.
2020-12-14 13:17:43 -04:00
Joey Hess
9aaab02e44
add 2020-12-13 18:50:35 -04:00
Joey Hess
3c76a31b15
response and related todo 2020-12-11 16:21:16 -04:00
Joey Hess
e6692b66f1
remove
I need to think about this some more, not clear if it's a todo
item specific to stalldetection at all. Remotes with this behavior
also show no progress when run with -J. And some other remotes don't
update any progress meters at all, eg adb is that way and so are hook
remotes and of course external remotes don't have to send progress info.
2020-12-11 15:49:39 -04:00
Joey Hess
fadf47557f
note 2020-12-11 15:48:03 -04:00
Joey Hess
90eadbce49
close 2020-12-11 15:45:55 -04:00
Joey Hess
d3f78da0ed
propagate signals to the transferrer process group
Done on unix, could not implement it on windows quite.

The signal library gets part of the way needed for windows.
But I had to open https://github.com/pmlodawski/signal/issues/1 because
it lacks raiseSignal.

Also, I don't know what the equivilant of getProcessGroupIDOf is on
windows. And System.Process does not provide a way to send any signal to
a process group except for SIGINT.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2020-12-11 15:32:00 -04:00
Joey Hess
79c765b727
meant to close this earlier 2020-12-11 14:25:54 -04:00
Joey Hess
095cdc7e83
extend transferrer protocol to send progress bar total size updates
New protocol is not back-compat with old one, but it's never been
released so that's ok.
2020-12-11 12:42:28 -04:00
Joey Hess
263fd1d459
ugh 2020-12-11 11:51:46 -04:00
Joey Hess
a422a056f2
make getViaTmpFrom no longer update location log
All callers adjusted to update it themselves.

In Command.ReKey, and Command.SetKey, the cleanup action already did,
so it was updating the log twice before.

This fixes a bug when annex.stalldetection is set, as now
Command.Transferrer can skip updating the location log, and let it be
updated by the calling process.
2020-12-11 11:50:13 -04:00
Joey Hess
a6ed23b82f
todo 2020-12-11 11:09:19 -04:00
Joey Hess
d3c11eac5d
2 bugs involving new stalldetection feature 2020-12-10 17:46:58 -04:00
Joey Hess
3fa2bc2eed
rename back, there were links to this 2020-12-09 13:14:54 -04:00
Joey Hess
05c0543e8e
move new interface to git-annex transfer
This is to avoid breakage when upgrading or downgrading git-annex with a
process running that uses the interface. It's better to keep the
compatability code for a few years than worry about such breakage.

This commit was sponsored by Brett Eisenberg on Patreon.
2020-12-09 12:33:56 -04:00
Joey Hess
41f2c308ff
stall detection is working
New config annex.stalldetection, remote.name.annex-stalldetection, which
can be used to deal with remotes that stall during transfers, or are
sometimes too slow to want to use.

This commit was sponsored by Luke Shumaker on Patreon.
2020-12-08 15:22:18 -04:00
Joey Hess
09ed9f7d1f
reminder for later 2020-12-08 15:20:05 -04:00
Joey Hess
c4d489f7d4
add todo
Not going to do this yet, so remember for later.
2020-12-08 15:17:35 -04:00
Joey Hess
438d5be1f7
support prompt in message serialization
That seems to be the last thing needed for message serialization.
Although it's only used in the assistant currently, so hard to tell if I
forgot something.

At this point, it should be possible to start using transferkeys
when performing transfers, which will allow killing a transferkeys
process if a transfer times out or stalls. But that's for another day.

This commit was sponsored by Ethan Aubin.
2020-12-04 14:54:09 -04:00
Joey Hess
4d9f416949
idea 2020-12-04 00:00:40 -04:00
Joey Hess
bf76ae2c90
mention new branch 2020-12-03 16:29:22 -04:00
Joey Hess
1858b65d88
design work 2020-12-02 14:31:24 -04:00
Joey Hess
ee86972f66
thought 2020-11-30 13:27:45 -04:00
Joey Hess
e843334a40
comment 2020-11-30 13:13:56 -04:00
Lukey
36b4a253e7 2020-11-29 19:06:37 +00:00
Lukey
7e86da7701 2020-11-29 19:04:34 +00:00
Joey Hess
a6f7017eba
Merge branch 'master' of ssh://git-annex.branchable.com 2020-11-23 13:00:36 -04:00
Joey Hess
8b8ee68a9c
update 2020-11-23 13:00:20 -04:00
Cebtenzzre
8816f0d8ab Added a comment 2020-11-22 16:07:16 +00:00
Joey Hess
1be38362aa
retitle 2020-11-16 15:17:48 -04:00
Joey Hess
805af01562
bug fix
really innefficient but it does solve dropping
2020-11-16 14:57:51 -04:00
Joey Hess
0896038ba7
annex.adjustedbranchrefresh
Added annex.adjustedbranchrefresh git config to update adjusted branches
set up by git-annex adjust --unlock-present/--hide-missing.

Note, in a few cases, I was not able to make the adjusted branch
be updated in calls to moveAnnex, because information about what
file corresponds to a key is not available. They are:

* If two files point to one file, then eg, `git annex get foo` will
  update the branch to unlock foo, but will not unlock bar, because it
  does not know about it. Might be fixable by making `git annex get
  bar` do something besides skipping bar?
* git-annex-shell recvkey likewise (so sends over ssh from old versions
  of git-annex)
* git-annex setkey
* git-annex transferkey if the user does not use --file
* git-annex multicast sends keys with no associated file info

Doing a single full refresh at the end, after any incremental refresh,
will deal with those edge cases.
2020-11-16 14:27:28 -04:00
Joey Hess
26cf26caca
Merge branch 'master' into symlink-missing 2020-11-16 10:03:12 -04:00
Joey Hess
5a8d01f63e
examinekey: Added a "file" format variable
For consistency with find, and for easier scripting.
2020-11-16 09:59:11 -04:00
yarikoptic
13bab4f2cf Added a comment 2020-11-14 02:00:13 +00:00
Joey Hess
f07670a282
measurement 2020-11-13 15:57:35 -04:00
Joey Hess
56aabccda4
close 2020-11-13 15:54:33 -04:00
Joey Hess
b9351922d2
add todo 2020-11-13 15:50:35 -04:00
Joey Hess
7566aa6bc5
examinekey: Added --migrate-to-backend
Note that, the way the SeekInput parser is written to support batch mode,
it's actually possible to do git-annex examinekey
"SHA1--foo foo.tar.gz" --migrate-to-backend=SHA1E

While that might be kind of useful to support multiple migrations not using
batch mode, I have not documented it. It would be better to take pairs of
key and file in that case.
2020-11-12 14:09:14 -04:00
Joey Hess
12e32d1dee
examinekey: Added two new format variables: objectpath and objectpointer 2020-11-12 13:02:31 -04:00
Joey Hess
c5141b469a
comment 2020-11-12 12:59:27 -04:00
Joey Hess
d7da4ee00a
comment 2020-11-12 12:29:15 -04:00
yarikoptic
60a71f90cc adding a note pointing to tentative recipe 2020-11-11 20:10:33 +00:00
yarikoptic
07e9f43c63 todo/question on how to get full path to the key knowing metadata but having no file 2020-11-11 19:29:14 +00:00
Lukey
9d598265e4 2020-11-05 18:41:25 +00:00
Joey Hess
664bec4297
comment 2020-11-02 22:34:04 -04:00
yarikoptic
5b4d5f6d64 Added a comment 2020-11-02 20:37:47 +00:00
Joey Hess
40679616ed
comment 2020-11-02 15:01:17 -04:00
yarikoptic
79874325b8 a plea for more --debug output 2020-11-02 18:04:20 +00:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
0170b5468f Added a comment: Documentation of demand 2020-10-27 14:59:47 +00:00
yarikoptic
c24480c061 Added a comment: windows build with magic 2020-10-22 19:32:55 +00:00
Joey Hess
0133b7e5a8
move: Improve resuming a move that was interrupted after the object was transferred
In cases where numcopies checks prevented the resumed move from dropping
the object from the source repository, it now relies on a log of recent
moves to replicate the behavior of the interrupted command.

Performance: Probably noticable impact, since it has to add to the log,
check the log, and remove from the log. Seems worth it to avoid this
annoying edge case. The log functions are pretty well optimised to avoid
unncessary work.

An performance improvement to make later would be to avoid cleanup doing
anything if it's not written to the log file, and has confirmed that the
log file does not contain the log line.

This commit was sponsored by Jake Vosloo on Patreon.
2020-10-21 10:31:56 -04:00
Joey Hess
15ea0e6c0a
design done 2020-10-19 14:57:02 -04:00
Joey Hess
5009c1ce68
update 2020-10-19 14:49:16 -04:00
Joey Hess
c337b58caf
more thoughts 2020-10-19 14:19:41 -04:00
Joey Hess
3c6cfacb19
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-10-19 12:19:33 -04:00
Joey Hess
e408658eaa
close 2020-10-19 12:16:15 -04:00
Ilya_Shlyakhter
1ac3735ac9 Added a comment: copying directly from directory special remote to the cloud 2020-10-18 21:00:59 +00:00
Joey Hess
e4a8b7b26f
comment 2020-10-13 18:57:30 -04:00
Joey Hess
9a5cd96f0d
Fix a memory leak introduced in the last release
The problem was this line:

	cleanup = and <$> sequence (map snd v)

That caused all of v to be held onto until the end, when the cleanup action
was run.

I could not seem to find a bang pattern that avoided the leak, so I
resorted to a IORef, rather clunky, but not a performance problem because
it will only be written once per git ls-files, so typically just 1 time.

This commit was sponsored by Mark Reidenbach on Patreon.
2020-10-13 16:31:01 -04:00
Joey Hess
d41795c8ff
blew a day investigating this and still don't understand it fully 2020-10-13 15:33:59 -04:00
Joey Hess
cf0ff9f53d
comment 2020-10-13 12:24:13 -04:00
Joey Hess
b72a5c0680
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-10-12 16:14:51 -04:00
Joey Hess
db1def72ee
comment
This commit was sponsored by Ethan Aubin.
2020-10-12 16:07:30 -04:00
Joey Hess
4124862ae0
comment
This commit was sponsored by Ethan Aubin.
2020-10-12 15:47:46 -04:00
Joey Hess
fc16057f99
profiling
Currently a bit stuck, but at least starting to get some clues on this
memory leak.

This commit was sponsored by Ethan Aubin.
2020-10-12 14:48:26 -04:00
Joey Hess
81216931c6
comment 2020-10-12 12:32:53 -04:00
Lukey
308e5b3a81 Added a comment 2020-10-11 14:17:47 +00:00
Joey Hess
46371797ec
design for finally slaying this beast
This commit was sponsored by Ethan Aubin.
2020-10-08 10:09:12 -04:00
yarikoptic
8035e2073d Added a comment 2020-10-05 23:17:08 +00:00
Joey Hess
471bcfaf37
comment 2020-10-05 14:51:19 -04:00
kyle
a39f9e8c7f Added a comment 2020-10-05 18:09:07 +00:00
yarikoptic
0bb7569e1c Added a comment 2020-10-05 18:02:51 +00:00
kyle
64ca40e11c Added a comment 2020-10-05 17:42:26 +00:00
yarikoptic
4bb980bfb9 Added a comment 2020-10-05 15:26:10 +00:00
kyle
742ce7ec87 Added a comment 2020-10-01 19:07:48 +00:00
yarikoptic
1bf55a8fc1 Added a comment 2020-10-01 17:26:10 +00:00
Joey Hess
37b1f2f2ed
response 2020-10-01 13:08:09 -04:00
yarikoptic
23103e225a Added a comment 2020-10-01 14:06:34 +00:00
Joey Hess
1610d94776
addurl: Avoid a redundant git ignores check for speed
Ensure that checkCanAdd is used everywhere a file is added to git,
so git add is run with -f, presumably avoiding the work it would usually
do to check ignores.
2020-09-29 13:00:41 -04:00
Joey Hess
d10cbaa084
comment 2020-09-29 12:25:40 -04:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
a3083436dc removed 2020-09-29 08:36:37 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
7b37f22880 Added a comment 2020-09-29 08:36:19 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
ff0784dad9 Added a comment 2020-09-29 08:32:22 +00:00
Joey Hess
3eaaec3113
consistently use importKey when available
This avoids import with --no-content and with --content potentially
generating two different trees, leading to a merge conflict when run in
two different clones of a repo. And it's necessary groundwork to make
git-annex sync --no-content import from special remotes that support
importKey.

Only the directory special remote currently supports importKey, and it
generates the same key as git-annex usually does, so there is no
behavior change for it.

Future special remotes will need to take care when adding importKey,
if it generates different keys. Added some warnings about that to
comments.

This commit was sponsored by Noam Kremen on Patreon.
2020-09-28 15:27:46 -04:00
Joey Hess
15c1ee16d9
import --no-content: Check annex.largefiles
Import small files into git, the same as is done when importing with content.
Which means, for small files, --no-content does download them.

If the largefiles expression needs the file content available
(due to mimetype or mimeencoding being used), the import will fail.

This commit was sponsored by Jake Vosloo on Patreon.
2020-09-28 13:28:57 -04:00
Joey Hess
9e676f062f
split out todo 2020-09-28 10:40:13 -04:00
Joey Hess
6a41a615b9
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-25 13:51:20 -04:00
Joey Hess
13f9c88123
add todo 2020-09-25 13:51:04 -04:00
Lukey
12eb7a3ceb Added a comment 2020-09-25 16:33:42 +00:00
Joey Hess
ace02f41b0
seek: defer matcher check until more info is known
Sped up seeking for files to operate on, when using options like --copies
or --in, by around 20%.

Benchmark showed an increase for --copies from 155 seconds to 121
seconds, and --in remote will be similar to that.

For --in here, the speedup was less, 5-10% or so.

(both warm cache)

This commit was sponsored by Jack Hill on Patreon.
2020-09-24 17:59:12 -04:00
Joey Hess
d89984b121
sync --all avoid unncessary first pass
Sped up seeking to around twice as fast, by avoiding a pass over the
worktree files when preferred content expressions of the local repo and
remotes don't use include=/exclude=.

Thanks to Lukey for identifying the optimisation.

This commit was sponsored by Brock Spratlen on Patreon.
2020-09-24 15:12:09 -04:00
Joey Hess
c1b4d76e6b
make MatchFiles introspectable
matchNeedsFileContent is not used yet, but shows how to add information
about terminals. That one would be needed for
https://git-annex.branchable.com/todo/sync_fast_import/

Note the tricky bit in Annex.FileMatcher.call where it folds over the
included matcher to propagate the information.

This commit was sponsored by Svenne Krap on Patreon.
2020-09-24 14:01:53 -04:00
Joey Hess
6d95361f35
add meta todo 2020-09-24 12:54:54 -04:00
Joey Hess
4d4f963c46
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-24 12:42:32 -04:00
Joey Hess
68f9766544
Improve --debug output to show pid of processes that are started and stopped
getPid returns Nothing if the process has already been stopped, and in that
case, the pid will not be displayed. I think that would only happen if
waitForProcess or similar gets called more than once on the same process
handle though.

getPid on unix has an overhead of only a MVar read. On Windows it needs to
make a syscall, so will be probably more expensive. While the added expense
happens even when debug logging is disabled, it should be small enough
compared with the overhead of starting a process that it's not a problem.

(It does occur to me that a debugM that took an IO String could only run it
when debugging is really enabled, which would improve performance. It does
not seem possible to use the current hslogger interface to do that though;
it does not expose the information that would be needed.)
2020-09-24 12:39:57 -04:00
Lukey
221b47162d 2020-09-24 16:36:12 +00:00
yarikoptic
9e033f3001 initial TODO for making failure messages for processes be more informative 2020-09-23 13:03:38 +00:00
Joey Hess
6a5e0cbfc7
Improve the "Try making some of these repositories available" message
With some hints for the user for what to do.

Took care to avoid changing the json output. It would have been ok to add
the new separated lists to it, in addition to the old list, but I didn't
do that because I didn't see much point.
2020-09-22 14:10:30 -04:00
Joey Hess
5cfcf1f05f
cache remote.log
Unlikely to speed up any of the existing uses much, but I want to use it
in a message that might be displayed many times.
2020-09-22 13:52:26 -04:00
Joey Hess
ebdce707da
fix typo 2020-09-22 13:26:49 -04:00
Joey Hess
361ef19999
wording 2020-09-22 12:39:33 -04:00
Joey Hess
41044de833
comment 2020-09-22 12:24:22 -04:00
yarikoptic
c44cd27520 Added a comment 2020-09-18 20:11:27 +00:00
Joey Hess
46a7fcef0d
close 2020-09-18 13:21:32 -04:00
Joey Hess
186c3827d0
comment 2020-09-18 13:21:00 -04:00
Joey Hess
500454935f
comment 2020-09-18 12:08:11 -04:00
Joey Hess
956ff1350a
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-18 12:00:12 -04:00
Joey Hess
81a38df5a7
add missing CHECKURL-FAILURE ErrorMsg to docs 2020-09-18 11:58:18 -04:00
yarikoptic
b48acde47d some whining about check-ignore 2020-09-18 15:30:23 +00:00
yarikoptic
f913822c03 initial todo to add ErrorMsg to all -FAILURE responses 2020-09-17 23:39:42 +00:00
Joey Hess
83df401d93
Merge branch 'batchasync' into master 2020-09-16 13:02:58 -04:00
Joey Hess
10f9107c1b
close 2020-09-16 13:02:35 -04:00
Joey Hess
929de3bb37
groundwork complete 2020-09-15 16:29:38 -04:00
Joey Hess
c6e159550d
update 2020-09-14 16:57:47 -04:00
Joey Hess
63d6cb27a9
thoughts 2020-09-10 13:13:39 -04:00
Joey Hess
6813373490
todo 2020-09-10 09:08:40 -04:00
Joey Hess
2bb933eb60
import: Retry downloads that fail
Also, using the transfer machinery for this makes eg, git-annex info show
in-progress imports, and makes --notify-start/finish work.
2020-09-04 13:54:05 -04:00
Joey Hess
46eb48d7c0
Retry transfers to exporttree=yes remotes same as for other remotes
The comment about noRetry is not well-justified, because transfers to many
remotes cannot be resumed, but retries are still allowed for those.
2020-09-04 13:24:08 -04:00
Joey Hess
1d244bafbd
Limit retrying of failed transfers when forward progress is being made to 5
To avoid some unusual edge cases where too much retrying could result in
far more data transfer than makes sense.
2020-09-04 12:46:37 -04:00
Joey Hess
5a9f518a42
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-02 12:25:52 -04:00
Joey Hess
854cd2ad47
httpalso: support exporttree=yes
Also tested what happens if the other special remote has importtree=yes
and exporttree=yes, and in that case, download via httpalso works too,
without needing to implement any importtree methods here.

It might be possible to make it automatically set exporttree=yes if the
--sameas does. Didn't try, will probably be layering issues.

Or perhaps it should be inherited by sameas like some
other configs? But then, wouldn't it also make sense to inherit
importree=yes? But as shown here, it's not needed by this kind of
remote.
2020-09-02 11:26:00 -04:00
Joey Hess
8656afd3e1
rename http special remote to httpalso
"http" was too generic and easy to confuse with web. The new name makes
clear it's used in addition to some other remote. And other protocols
can use the same naming scheme.
2020-09-02 10:41:53 -04:00
yarikoptic
871257ee23 Added a comment 2020-09-01 20:50:02 +00:00
Joey Hess
20b06266d1
thought 2020-09-01 16:04:40 -04:00
Joey Hess
48dde6d5b0
link 2020-09-01 16:02:03 -04:00
Joey Hess
4bcfd56902
todo 2020-09-01 16:00:49 -04:00
Joey Hess
955f309cd5
comment 2020-09-01 15:51:41 -04:00
Joey Hess
d80876920f
Merge branch 'master' of ssh://git-annex.branchable.com into master 2020-09-01 15:36:56 -04:00
Joey Hess
5b177317b4
comment 2020-09-01 15:36:28 -04:00
yarikoptic
a70260160f noise about 500s 2020-09-01 19:29:29 +00:00
Joey Hess
571ec900ac
Added http special remote, which is useful for accessing other remotes that publish content stored in them via http/https.
With automatic layout learning!
2020-09-01 15:16:35 -04:00
Joey Hess
fccc9ab442
note common need of these two todos 2020-09-01 12:13:41 -04:00
Joey Hess
d91b2b9fe2
close as dup 2020-09-01 11:58:08 -04:00
Joey Hess
95d9a3cf8a
Merge branch 'asyncexternal' 2020-08-14 16:00:49 -04:00
Joey Hess
05b2b46a82
async extension done 2020-08-14 15:24:34 -04:00
Joey Hess
1ecbac4025
branch 2020-08-12 16:27:02 -04:00
Joey Hess
ddf69bf5b8
draft async extension 2020-08-11 16:42:09 -04:00
Joey Hess
db1c6da84b
close 2020-08-11 14:01:22 -04:00
Lukey
7077a7c2e7 Added a comment 2020-08-04 14:10:33 +00:00
Joey Hess
88e5ebcda7
runshell LD_HWCAP_MASK=0 optimisation 2020-08-03 14:34:15 -04:00
yarikoptic
7bd1e392dc Added a comment 2020-07-31 21:48:21 +00:00
yarikoptic
592db0629e Added a comment 2020-07-31 21:37:48 +00:00
kyle
960180dece Added a comment 2020-07-31 21:30:34 +00:00
yarikoptic
2b9d8b4e08 Added a comment 2020-07-31 21:23:57 +00:00
Joey Hess
f5724d78d4
comment 2020-07-31 16:47:23 -04:00
Joey Hess
8b4e5e6f68
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-31 14:58:02 -04:00
Joey Hess
c4ec52b9ae
Slightly sped up the linux standalone bundle
Reduce the number of directories listed in libdirs, which makes the linker
check a lot less dead ends looking for directories.

Eliminated some directories that didn't really contain shared libraries,
or only contained the linker.

That left only 2, one in lib and one in usr/lib, so consolidate those two.

Doing it this way, rather than just consolidating all libs that might exist
into a single directory means that, if there are optimised versions of some
libs, eg in lib/subarch/foo.so, and lib/subarch2/foo.so, they don't get
moved around in a way that would make the linker pick the wrong one.
2020-07-31 14:42:03 -04:00
Joey Hess
676257dfa8
comment 2020-07-31 13:29:48 -04:00
Ilya_Shlyakhter
85e57d8260 Added a comment: streaming data and external backends 2020-07-30 15:58:24 +00:00
Joey Hess
049807dbba
external backends implemented 2020-07-29 17:24:34 -04:00
yarikoptic
6b26802047 Added a comment 2020-07-28 15:26:43 +00:00
yarikoptic
61e96d7be4 Added a comment 2020-07-28 15:18:44 +00:00
yarikoptic
a846655d69 Added a comment 2020-07-27 21:40:55 +00:00
Joey Hess
3fafcc47bb
comment 2020-07-27 16:53:21 -04:00
Joey Hess
9d9f1f85d6
comment 2020-07-27 11:37:12 -04:00
Joey Hess
36d1621c35
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-27 11:34:03 -04:00
Joey Hess
3953c7a0ce
add DEBUG 2020-07-27 11:31:00 -04:00
ghen1
ad391da6b8 2020-07-27 15:24:21 +00:00
Joey Hess
32e1d7bc31
add 2020-07-24 14:11:08 -04:00
Joey Hess
c5ea2e9d12
better benchmark for move/copy speedup 2020-07-24 13:34:12 -04:00
Joey Hess
18f1fb5841
drop performance improvements
Sped up seeking files to drop by 2x, and also some performance
improvements to checking numcopies.

Interestingly, the seek speedup is not due to precaching, but I think is
due to calling getParsed earlier.

Annex.Drop had to be changed to check inAnnex there, since it was removed
from Command.Drop. All other users of Command.Drop already checked inAnnex
themselves.

This commit was sponsored by Ryan Newton on Patreon.
2020-07-24 13:27:46 -04:00
Joey Hess
d732ef1a89
move, copy: Sped up seeking for annexed files to operate on by a factor of nearly 2x. 2020-07-24 12:56:02 -04:00
Joey Hess
4685612f43
small git-annex get speedup
Remove an redundant inAnnex check. The checkContentPresent handles that,
and after the last commit also does in batch mode.
2020-07-22 14:29:30 -04:00
Joey Hess
1be92381ec
unify batch mode with non-batch by using AnnexedFileSeeker 2020-07-22 14:23:28 -04:00
Ilya_Shlyakhter
59917f8a6d Added a comment: external backend protocol 2020-07-21 17:43:27 +00:00
Joey Hess
abd56fb019
Fix a bug in find --batch in the previous version. 2020-07-20 19:50:53 -04:00
Joey Hess
f71310fed0
comment 2020-07-20 14:19:13 -04:00
Joey Hess
d1300eca2e
draft external backend protocol 2020-07-20 14:05:49 -04:00
Joey Hess
1489fbbdde
bug 2020-07-19 18:26:57 -04:00
yarikoptic
6a05388877 Added a comment 2020-07-18 05:09:54 +00:00
yarikoptic
7ee0bcbee7 Added a comment 2020-07-18 05:09:32 +00:00
yarikoptic
4ab711e153 Added a comment 2020-07-18 04:50:12 +00:00
yarikoptic
a6b0147b7f Added a comment 2020-07-18 04:49:49 +00:00
yarikoptic
d7b4df85e4 Added a comment 2020-07-18 04:34:26 +00:00
yarikoptic
5215fe92b9 Added a comment 2020-07-18 04:34:05 +00:00
yarikoptic
360de9446e Added a comment 2020-07-18 03:57:20 +00:00
yarikoptic
c46b9ac4ae initial 2nd wave of whining about startup time and to consider prelink or alike 2020-07-18 03:54:34 +00:00
yarikoptic
4f152089eb Added a comment: Windows build of file (which includes libmagic) 2020-07-16 22:01:17 +00:00
Joey Hess
a3a8779501
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-16 15:08:51 -04:00
Ilya_Shlyakhter
77299ae6e5 Added a comment: external backends 2020-07-16 17:30:55 +00:00
Joey Hess
5ab3849da3
thought 2020-07-15 20:42:53 -04:00
Joey Hess
034f958b09
comment 2020-07-15 14:02:31 -04:00
Joey Hess
360dc386e7
comment 2020-07-15 10:08:37 -04:00
Joey Hess
1bc015bff4
tag datalad at yoh's req 2020-07-15 09:51:57 -04:00
Joey Hess
e66ba410fc
todo 2020-07-14 21:44:31 -04:00
Joey Hess
f9b4a9f650
update 2020-07-14 14:47:22 -04:00
Joey Hess
7b2d236556
importfeed: stream metadata for 5% speedup
On top of the 10% speedup from streaming url logs.
2020-07-14 14:35:26 -04:00
Joey Hess
535cdc8d48
importfeed: Made checking known urls step around 10% faster.
This was a bit disappointing, I was hoping for a 2x speedup. But, I think
the metadata lookup is wasting a lot of time and also needs to be made to
stream.

The changes to catObjectStreamLsTree were benchmarked to not also speed
up --all around 3% more. Seems I managed to make it polymorphic after all.
2020-07-14 12:47:51 -04:00
Joey Hess
75aab72d23
mostly done with location log precaching
Some nice wins.
2020-07-13 17:04:02 -04:00
Joey Hess
df58609804
convert sync to use seekFilteredKeys
This only speeds up sync --content from 34.75 to 33.17 seconds;
location log precaching will probably be a bigger win.
2020-07-13 15:02:52 -04:00
Joey Hess
c70ae68d7e
update 2020-07-13 11:49:24 -04:00
Joey Hess
415d394222
thought 2020-07-13 11:04:57 -04:00
Joey Hess
a32b6f9812
update 2020-07-10 15:49:03 -04:00
Joey Hess
412b09e17e
update 2020-07-10 15:23:12 -04:00
Joey Hess
2468eefc6d
2x speedup for annex file seeking on the horizon 2020-07-10 14:02:48 -04:00
Joey Hess
1df9e72a78
update 2020-07-10 13:31:47 -04:00
Joey Hess
6b9d1c1317
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-10 13:16:11 -04:00
Joey Hess
6e9fcf468d
streamkeys branch 2020-07-09 14:48:03 -04:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
bbc3800369 Added a comment: Update on my auto-commit / auto-sync scripts 2020-07-09 14:23:15 +00:00
Ilya_Shlyakhter
96aad5458b Added a comment: re: git-annex-cat 2020-07-09 01:06:37 +00:00
Ilya_Shlyakhter
75b96059af Added a comment: git-annex-cat 2020-07-09 00:21:02 +00:00
Joey Hess
9f6bd6cc05
add inRepoDetails
planned to use for an optimisation

most things using stagedDetails were not expecting to get dup files in a
conflicted merge and deal with them, so converted them to use
inRepoDetails.
2020-07-08 15:36:35 -04:00
Joey Hess
c1eaf5b930
note 2020-07-08 14:21:37 -04:00
Joey Hess
d08c178f97
avoid catObjectStream skipping over unavailable shas
Not needed as it's used for --all, but will be needed later.
2020-07-08 13:57:17 -04:00
Joey Hess
de3d7d044d
make catObjectStream support newline and carriage return in filenames
Turns out the %(rest) trick was not needed. Instead, just maintain a
list of files we've asked for, and each cat-file response is for the
next file in the list.

This actually benchmarks 25% faster than before! Very surprising, but it
must be due to needing to shove less data through the pipe, and parse
less.
2020-07-08 13:49:03 -04:00
Joey Hess
2cf6717aec
thoughts 2020-07-08 10:51:24 -04:00
Joey Hess
5849bd6340
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-07 16:50:26 -04:00
Joey Hess
afd9b2f667
idea 2020-07-07 16:49:44 -04:00
yarikoptic
c9d0bf0e6a reassign to datalad - generic enhancement 2020-07-07 19:05:59 +00:00
Joey Hess
ba0adefe4c
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-07 14:19:46 -04:00
Joey Hess
d010ab04be
sped up the --all option by 2x to 16x by using git cat-file --buffer
This assumes that no location log files will have a newline or carriage
return in their name. catObjectStream skips any such files due to
cat-file not supporting them.

Keys have been prevented from containing newlines since 2011,
commit 480495beb4. If some old repo
had a key with a newline in it, --all will just skip processing that key.
Other things, like .git/annex/unused files certianly assume no newlines in
keys too, and AFAICR, such keys never actually worked.

Carriage return is escaped by preSanitizeKeyName since 2013. WORM keys
generated before that point could perhaps contain a CR. (URL probably not,
http probably doesn't support an URL with a raw CR in it.) So, added
a warning in fsck about such keys. Although, fsck --all will naturally
skip them, so won't be able to warn about them. Not entirely
satisfactory, but I'll bet there are not really any such keys in
existence.

Thanks to Lukey for finding this optimisation.
2020-07-07 13:54:04 -04:00
timothy.sanders@a7ce3a8bae11a60e0c4cda9cb4aef24ec459bbab
3b6754e2a5 2020-07-07 10:26:00 +00:00
timothy.sanders@a7ce3a8bae11a60e0c4cda9cb4aef24ec459bbab
8a9323f5b5 2020-07-07 10:24:29 +00:00
Lukey
56f5d99ceb Added a comment 2020-07-06 21:20:58 +00:00
Joey Hess
9468675ba9
note 2020-07-06 15:12:26 -04:00
Joey Hess
d66fc1a464
Revert "async exception safety for coprocesses"
This reverts commit 7013798df5.
2020-07-06 15:11:28 -04:00
Joey Hess
dfa1c21b8a
comment
and update changelog with benchmark results
2020-07-06 13:39:42 -04:00
Joey Hess
9a2fbc2ea8
comment 2020-07-06 11:58:14 -04:00
Ilya_Shlyakhter
f6af30a7af Added a comment 2020-07-03 19:55:36 +00:00
Joey Hess
d89b52086e
close 2020-07-03 14:31:12 -04:00
Joey Hess
85506a7015
import: Added --no-content option, which avoids downloading files from a special remote
Only supported by some special remotes: directory
I need to check the rest and they're currently missing methods until I do.

git-annex sync --no-content does not yet use this to do imports
2020-07-03 13:41:57 -04:00
Joey Hess
a8099b9896
thought 2020-07-03 12:02:07 -04:00
Joey Hess
89108d6f5a
thought 2020-07-02 21:56:00 -04:00
Joey Hess
e463ef1b91
comment 2020-07-02 20:13:19 -04:00
Joey Hess
8fc9788363
fix commment 2020-07-02 20:05:36 -04:00
yarikoptic
edef3c25b3 Added a comment: map2url? 2020-07-02 20:41:15 +00:00
Ilya_Shlyakhter
df65c4796d Added a comment 2020-07-02 20:22:26 +00:00
yarikoptic
b7a78cbb26 Added a comment 2020-07-02 20:14:20 +00:00
Joey Hess
3353ff236a
comment 2020-07-02 15:30:16 -04:00
Joey Hess
f8ed8a916c
design 2020-07-02 14:35:59 -04:00
Joey Hess
a88b671bd9
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-02 14:17:31 -04:00
Joey Hess
caaeba0be9
thoughts 2020-07-02 14:15:47 -04:00
yarikoptic
1d51db3b02 Added a comment: more ideas for async implementation 2020-07-02 17:44:44 +00:00
Joey Hess
fe1f4632a4
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-02 10:00:11 -04:00
Joey Hess
00c9eb4c78
comment 2020-07-01 20:12:10 -04:00
Ilya_Shlyakhter
d03902f7ff Added a comment: annex.thin for importing from directory special remote 2020-07-01 22:23:58 +00:00
Lukey
5a64acf790 Added a comment 2020-07-01 20:37:13 +00:00
Joey Hess
640dbaaaf8
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-01 15:15:47 -04:00
Joey Hess
11c2886578
overlapping todos 2020-07-01 15:06:36 -04:00
Ilya_Shlyakhter
d1232e385b Added a comment 2020-07-01 17:33:49 +00:00
Ilya_Shlyakhter
6eb318cd53 Added a comment: git pack files 2020-07-01 17:32:45 +00:00
Joey Hess
424b1912d6
followup and add link 2020-07-01 12:28:44 -04:00
Joey Hess
a496ab602d
todo 2020-07-01 12:07:11 -04:00
Joey Hess
07dff32bd4
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-01 11:23:39 -04:00
Lukey
ffb03cc959 Added a comment 2020-07-01 14:32:12 +00:00
Joey Hess
98a8a6da81
todo 2020-06-30 18:41:47 -04:00
Joey Hess
8f508d4406
comments 2020-06-30 16:41:31 -04:00
Joey Hess
1d335520df
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-30 12:27:19 -04:00
Joey Hess
137450c9fe
thoughts 2020-06-30 12:24:08 -04:00
Lukey
e6ca4cd0df 2020-06-30 15:46:57 +00:00
yarikoptic
692cea01e4 an idea on a (more) efficient transfer via async external remote protocol 2020-06-30 04:37:22 +00:00
Joey Hess
7fd20146e1
all easy cases done
bup can't do it after all, because removeKey deletes the git branch. And
the rest seem too hard to tackle today.
2020-06-26 14:24:48 -04:00
Joey Hess
76721b62dd
does not make sense to lockContent on web
Looked into this, and dropKey from web actually removes the url,
so git-annex won't try to get content from it.

So, if lockContent were implemented for web, and the web was left as the
only thing containing an object, another repo could at the same time
drop from web and remove its url, leaving no way to get the object.

Add to that, of course, the web is typically set untrusted, and so
implementing lockContent would not then be useful.

Similar reasoning applies to the bittorrent special remote, as well
as the fact that it does not even implement checkKey.
2020-06-26 13:58:28 -04:00
Joey Hess
b316a85ede
update 2020-06-26 13:54:23 -04:00
Joey Hess
4229713e63
importfeed: Added some additional --template variables for date and time
This commit was sponsored by Ethan Aubin.
2020-06-24 14:24:50 -04:00
Joey Hess
7757c0e900
Honor annex.largefiles when importing a tree from a special remote.
This commit was sponsored by Martin D on Patreon.
2020-06-23 16:07:18 -04:00
Joey Hess
d045e39058
thoughts 2020-06-23 14:14:13 -04:00
Joey Hess
3da4caa785
thoughts 2020-06-23 13:51:10 -04:00
Joey Hess
400b03115e
close 2020-06-22 14:46:02 -04:00
Joey Hess
b97d8030f3
respond and close 2020-06-22 14:44:14 -04:00
Joey Hess
d4d0951c07
followup and break out todo item to prioritize 2020-06-16 14:25:51 -04:00
Ilya_Shlyakhter
c003237871 Added a comment: separate processes for parallel transfers 2020-06-12 15:47:28 +00:00
Joey Hess
0017d9a347
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-11 15:44:28 -04:00
Joey Hess
e15ab727eb
comment and todo 2020-06-11 14:05:01 -04:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
512f77fe2a Added a comment: I've hacked up a Python script for policy-based automatic commits 2020-06-11 10:10:52 +00:00
Joey Hess
266ec93237
ugh 2020-06-09 17:39:03 -04:00
Joey Hess
e0d8ab75dd
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-09 16:20:45 -04:00
Joey Hess
24766125d9
update 2020-06-09 16:20:08 -04:00
Joey Hess
8a824147e4
horrible realization 2020-06-09 16:10:27 -04:00
yarikoptic
02ee2d0e47 2020-06-07 19:38:34 +00:00
yarikoptic
8e3cdfa90e Added a comment 2020-06-05 22:15:09 +00:00
yarikoptic
04aa8360a9 Added a comment: reply to Joey's comments 2020-06-05 22:11:48 +00:00
Joey Hess
0210e81d83
async exception safety for openFd
Audited for openFile and openFd, and this fixes all the ones I found
where an async exception could prevent the file getting closed.

Except for the lock pool, which is a whole other can of worms.
2020-06-05 15:48:00 -04:00
Joey Hess
dca19099a9
async exception safety
Masking ensures that EndStderrHandler gets written, so the helper
threads shut down.

However, nothing currently guarantees that calls to closeP2PSshConnection
are async exception safe, so made a note about it.

At this point, I've audited all calls to async, and made them all async
exception safe, except for ones in the assistant, and a few in leaf
commands (remotedaemon, enable-tor, multicast, p2p) which don't need to
be.
2020-06-05 14:56:41 -04:00
Joey Hess
42756b972e
few more things 2020-06-05 11:15:29 -04:00
Joey Hess
db270bd6ba
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-05 11:13:15 -04:00
Joey Hess
2bff3b7c49
init: When annex.pidlock is set, skip lock probing. 2020-06-05 11:12:16 -04:00
Joey Hess
1d41ae5d2a
init warning on stalled lock probe
init: If lock probing stalls for a long time (eg a broken NFS server),
display a message to let the user know what's taking so long.
2020-06-05 11:06:19 -04:00
Ilya_Shlyakhter
1d189cd08e Added a comment 2020-06-05 14:51:08 +00:00
Joey Hess
e998e4a29a
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-05 10:41:30 -04:00
yarikoptic
8d3ffe50a1 initial whining about long pidlock need detection time 2020-06-05 02:18:31 +00:00
Joey Hess
a3d1f967a8
almost forgot 2020-06-04 16:22:45 -04:00
Joey Hess
2670890b17
convert to withCreateProcess for async exception safety
This handles all createProcessSuccess callers, and aside from process
pools, the complete conversion of all process running to async exception
safety should be complete now.

Also, was able to remove from Utility.Process the old API that I now
know was not a good idea. And proof it was bad: The code size went *down*,
despite there being a fair bit of boilerplate for some future API to
reduce.
2020-06-04 15:45:52 -04:00
Joey Hess
12e7d52c8b
another wrinkle 2020-06-04 14:46:28 -04:00
Joey Hess
e1fc4f7594
make safeCommand stop the process if the thread gets killed
And a comment on a todo item that this commit is perhaps the start of
solving.
2020-06-03 12:52:11 -04:00
Joey Hess
81a811d935
comment 2020-06-03 12:00:44 -04:00
superhair123
4b0dd1fcb2 2020-06-01 13:47:30 +00:00
superhair123
401f0f7d5a 2020-06-01 13:44:15 +00:00
Joey Hess
89b2542d3c
annex.skipunknown with transition plan
Added annex.skipunknown git config, that can be set to false to change the
behavior of commands like `git annex get foo*`, to not skip over files/dirs
that are not checked into git and are explicitly listed in the command
line.

Significant complexity was needed to handle git-annex add, which uses some
git ls-files calls, but needs to not use --error-unmatch because of course
the files are not known to git.

annex.skipunknown is planned to change to default to false in a
git-annex release in early 2022. There's a todo for that.
2020-05-28 15:55:17 -04:00
Joey Hess
a6271b1323
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-27 12:46:52 -04:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
311e605c28 Added a comment: .noannex 2020-05-27 15:34:54 +00:00
kyle
3e717128f8 Added a comment 2020-05-27 15:19:13 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
7776691ead 2020-05-27 15:10:57 +00:00
Joey Hess
298fa1c081
done 2020-05-27 11:00:57 -04:00
Joey Hess
fc9833f68d
export: Added options for json output
Just worked, no need to do anything except add the options.
2020-05-26 10:31:10 -04:00
Joey Hess
bbdba72624
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-26 10:21:21 -04:00
yarikoptic
d30dd6daa4 TODO for export --json* options 2020-05-26 04:14:57 +00:00
Joey Hess
6eea4969d3
close 2020-05-25 12:04:56 -04:00
Joey Hess
234764518a
close 2020-05-25 12:02:23 -04:00
Joey Hess
e46717bf18
close 2020-05-25 11:59:21 -04:00
Joey Hess
133de41e49
close 2020-05-25 11:56:27 -04:00
Joey Hess
5f5a2a6b56
close 2020-05-25 11:52:45 -04:00
Joey Hess
fcb288be13
close dup 2020-05-25 11:48:39 -04:00
Joey Hess
4d87d255ee
comment 2020-05-25 11:47:10 -04:00
Joey Hess
7cc5e955b6
close 2020-05-25 11:31:38 -04:00
https://christian.amsuess.com/chrysn
112d2f8e7b Added a comment: Re: Usefulness of batch key processing 2020-05-15 09:33:22 +00:00
https://christian.amsuess.com/chrysn
340287ef94 Added a comment: Usefulness of batch key processing 2020-05-15 09:21:15 +00:00
Joey Hess
5b5a9aaf92
comment 2020-05-05 12:33:28 -04:00
Joey Hess
d2e78dfc0d
prove this optimisation would not be safe, so close 2020-05-04 14:49:42 -04:00
Joey Hess
9fa940569c
added remote variants
Todo item is done at last.

Might later want to think about testing some other types of remotes that
can be tested locally. The git remote itself is probably already well
enough tested by the test suite that testremote is not needed. Could
test things like bup, or rsync to a local directory. Or even external,
although that would require embedding an external special remote program
into the test suite..
2020-04-30 13:52:03 -04:00
Joey Hess
b41c0edebd
todo 2020-04-28 17:24:53 -04:00
ct.git-annex@230092d9bd3cf09ced2b9605cdb14ad0a3db265d
d3270a8b9a Added a comment 2020-04-26 20:18:48 +00:00
Joey Hess
985dd4f2ad
comment 2020-04-23 16:21:18 -04:00
Joey Hess
957a87b437
fix absolute filenames fed into --batch and git-annex info 2020-04-15 16:04:05 -04:00
Joey Hess
a14168a321
reproduced 2020-04-15 15:06:53 -04:00
Joey Hess
2caf579718
cache annex index filename for 1.5% speedup to queries 2020-04-10 13:37:04 -04:00
Joey Hess
5e4423c058
new optimisation target 2020-04-09 14:13:00 -04:00
Joey Hess
aeca7c2207
Sped up query commands that read the git-annex branch by around 5%
The only price paid is one additional MVar read per write to the journal.
Presumably writing a journal file dominiates over a MVar read time by
several orders of magnitude.

--batch does not get the speedup because then it needs to notice when
another process has made a change. Also made the assistant and other damon
modes bypass the optimisation, which would not help them anyway.
2020-04-09 13:54:43 -04:00
Joey Hess
c0cd07c36b
Ref ByteString conversion done
Test suite passes.
2020-04-07 17:41:09 -04:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
d27a94eec0 Added a comment 2020-03-26 20:36:28 +00:00
Joey Hess
a0d274fed6
Merge branch 'master' of ssh://git-annex.branchable.com 2020-03-25 13:05:47 -04:00
Joey Hess
357f783edf
add priority tags 2020-03-25 13:05:09 -04:00
spwhitton
79ba17946f Added a comment 2020-03-25 16:31:13 +00:00
Joey Hess
24255b3c96
confirmed, and open todo for something mentioned in this bug 2020-03-20 12:00:07 -04:00
thk
677e5f6e12 Added a comment: sponsoring? 2020-03-19 08:40:32 +00:00
Joey Hess
cb6604814c
close 2020-03-16 14:16:55 -04:00
Joey Hess
94e1f02e0c
comment 2020-03-16 14:15:00 -04:00
Joey Hess
c913f57d05
comment 2020-03-16 14:08:49 -04:00
Ilya_Shlyakhter
05df404212 Added a comment: gsasl dependency 2020-03-11 22:13:47 +00:00
spwhitton
e36d6ebe53 report bug 2020-03-11 21:41:21 +00:00
Joey Hess
b2c4ca6da1
comment 2020-03-09 12:33:35 -04:00
Joey Hess
6eb52cf5f1
Merge branch 'master' of ssh://git-annex.branchable.com 2020-03-09 12:07:03 -04:00
Ilya_Shlyakhter
5dedcc9953 added todo: add option to disable fsck upgradable key warnings 2020-03-07 21:01:41 +00:00
thk
98e7a6078b Added a comment: No clear error message for failing names on NTFS 2020-03-07 12:50:19 +00:00
Joey Hess
e87dc1341e
link to upstream bug report 2020-03-06 13:52:48 -04:00
thk
db9958bfc8 Added a comment: Also no clear error for permission problems 2020-03-06 17:51:20 +00:00
Joey Hess
093fde5abd
completed the createDirectoryIfMissing conversion
Remaining calls in the assistant and Annex.Ssh have been audited and are ok.
2020-03-06 12:55:03 -04:00
Joey Hess
6d58ca94d6
some easy createDirectoryUnder conversions 2020-03-05 15:20:10 -04:00
Joey Hess
5b022eea87
implemented createDirectoryUnder 2020-03-05 14:10:34 -04:00
Ilya_Shlyakhter
aa91792d41 Added a comment 2020-03-04 21:34:42 +00:00
Joey Hess
97a8ce0191
comment 2020-03-04 17:12:10 -04:00
Ilya_Shlyakhter
8f48ebd8c2 added todo: restore original environment when running external special remotes from standalone git-annex? 2020-03-04 17:39:02 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
4da2a67bbe Added a comment: re: shorter symlinks 2020-03-04 00:48:02 +00:00
Joey Hess
dd89832700
comment 2020-03-02 15:02:22 -04:00
Joey Hess
701f8cb00b
comment 2020-03-02 14:52:02 -04:00
Ilya_Shlyakhter
54d77e94ba Added a comment: adding dotfiles 2020-02-29 21:35:06 +00:00
spwhitton
a025dc23af Added a comment 2020-02-29 16:34:16 +00:00
Ilya_Shlyakhter
4faf850106 added todo suggestion: trust presence info for specific remotes for specified time 2020-02-28 20:14:26 +00:00
Joey Hess
41cb7e90a6
comment 2020-02-28 15:32:50 -04:00
Ilya_Shlyakhter
02f3abb142 added todo request: restore --include-dotfiles as a no-op for backwards compatibility 2020-02-28 18:29:43 +00:00
Joey Hess
2203b0e910
comment 2020-02-28 14:18:09 -04:00
Ilya_Shlyakhter
957dc80c3f Added a comment: batch presence checking 2020-02-27 20:33:44 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
2d3ef2c079 Added a comment 2020-02-27 13:12:28 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
d31fd6cd42 2020-02-27 08:54:34 +00:00
Joey Hess
64639ff9b1
followup and close 2020-02-26 18:29:06 -04:00
Joey Hess
5de1abf3da
todo 2020-02-25 17:44:03 -04:00
Joey Hess
3497e9e510
comment 2020-02-25 16:16:18 -04:00
Joey Hess
9659f1c30f
annex.security.allowed-ip-addresses ports syntax
Extended annex.security.allowed-ip-addresses to let specific ports of an IP
address to be used, while denying use of other ports.
2020-02-25 15:45:52 -04:00
Joey Hess
4316d92b48
comment 2020-02-25 14:38:55 -04:00
Joey Hess
bd8481b23d
comment 2020-02-25 12:46:01 -04:00
Ilya_Shlyakhter
370ce884f3 added todo suggestion: create debug logs but erase them on success 2020-02-24 22:37:51 +00:00
Dan
93af53f0fc Added a comment: Interaction with config annex.synccontent 2020-02-24 21:34:53 +00:00
yarikoptic
00cbbe2789 original TODO for more flexible security.allowed-ip-addresses 2020-02-21 00:04:30 +00:00
admin
d1fe9d0d2a Merge branch 'master' of /home/b-git-annex/source 2020-02-20 20:48:37 +00:00
Ilya_Shlyakhter
1b0685eac1 Added a comment: running parallel commands with xargs 2020-02-20 20:48:36 +00:00
Joey Hess
7f96801642
improve 2020-02-20 16:01:38 -04:00
Joey Hess
f2a925a3f5
comment 2020-02-20 14:45:12 -04:00
Joey Hess
0f9bf2d434
comments 2020-02-20 12:40:34 -04:00
Joey Hess
de144d3867
clean up 2020-02-19 15:04:31 -04:00
Joey Hess
029c883713
Merge branch 'master' into v8 2020-02-19 14:32:11 -04:00
Ilya_Shlyakhter
0ae1a3335e Added a comment: thanks 2020-02-18 20:00:17 +00:00
Joey Hess
c4a1b04e8b
comment 2020-02-18 12:51:59 -04:00
Dan
216c2154ec Added a comment: An overdue and overlong reply 2020-02-17 22:59:22 +00:00
Joey Hess
a78eb6dd58
sync --only-annex and annex.synconlyannex
* Added sync --only-annex, which syncs the git-annex branch and annexed
  content but leaves managing the other git branches up to you.
* Added annex.synconlyannex git config setting, which can also be set with
  git-annex config to configure sync in all clones of the repo.

Use case is then the user has their own git workflow, and wants to use
git-annex without disrupting that, so they sync --only-annex to get the
git-annex stuff in sync in addition to their usual git workflow.

When annex.synconlyannex is set, --not-only-annex can be used to override
it.

It's not entirely clear what --only-annex --commit or --only-annex
--push should do, and I left that combination not documented because I
don't know if I might want to change the current behavior, which is that
such options do not override the --only-annex. My gut feeling is that
there is no good reasons to use such combinations; if you want to use
your own git workflow, you'll be doing your own committing and pulling
and pushing.

A subtle question is, how should import/export special remotes be handled?
Importing updates their remote tracking branch and merges it into master.
If --only-annex prevented that git branch stuff, then it would prevent
exporting to the special remote, in the case where it has changes that
were not imported yet, because there would be a unresolved conflict.

I decided that it's best to treat the fact that there's a remote tracking
branch for import/export as an implementation detail in this case. The more
important thing is that an import/export special remote is entirely annexed
content, and so it makes a lot of sense that --only-annex will still sync
with it.
2020-02-17 16:33:10 -04:00
Joey Hess
96eb008910
comment 2020-02-17 13:42:21 -04:00
Joey Hess
d04e6aac6c
comment 2020-02-17 12:26:09 -04:00
Joey Hess
d2e0996c04
comment 2020-02-17 12:04:54 -04:00
Joey Hess
ef3e203436
comment 2020-02-17 11:56:08 -04:00
yarikoptic
0af85edb58 Added a comment 2020-02-14 17:20:29 +00:00
yarikoptic
8214da5715 Initial TODO on making --whatelse machine readable 2020-02-14 17:18:37 +00:00
Dan
6d82045149 Added a comment: Still wanted (update with example) 2020-02-13 20:08:48 +00:00
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e
9e7ce2076f Added a comment: Three union-mounting methods that *don't* work 2020-02-08 06:21:05 +00:00
Ilya_Shlyakhter
83fb031460 Added a comment: potential security issues? 2020-02-06 21:00:57 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
227206c089 2020-02-06 06:56:41 +00:00
Ilya_Shlyakhter
5c57440482 Added a comment: example of where retries could help 2020-02-05 22:19:30 +00:00
Ilya_Shlyakhter
28dc7d01de Added a comment: retries due to locked index file 2020-02-05 16:59:44 +00:00
Ilya_Shlyakhter
8db097e081 Added a comment: aborting stuck operations so they can be retried 2020-02-05 16:39:40 +00:00
https://christian.amsuess.com/chrysn
1a306aea34 Added a comment: union mounting and hidemissing 2020-02-04 09:01:53 +00:00
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e
3367266cdb Added a comment: Interim shell script 2020-02-04 07:26:11 +00:00
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e
5996fc6df0 removed 2020-02-04 07:16:20 +00:00
chkno@50332f55d5ef2f4b7c6bec5253b853a8f2dc770e
36623e963e Added a comment: Interim shell scripts 2020-02-04 06:43:04 +00:00
annex2384@290036d126d86bcec28ee2f2ead549de1f59e90e
b44b35da63 Added a comment: Similar use case 2020-02-04 03:48:40 +00:00
Chel
2198ba76f7 Added a comment 2020-02-01 02:55:07 +00:00
Chel
b65d7f3d04 Added a comment 2020-02-01 02:32:02 +00:00
Ilya_Shlyakhter
8d3364265e Added a comment: simpler proposal 2020-01-31 21:46:58 +00:00
Ilya_Shlyakhter
36e298daff Added a comment 2020-01-31 20:32:01 +00:00
https://christian.amsuess.com/chrysn
8ae290623e Added a comment: Re: comment 1 2020-01-31 19:48:02 +00:00
Ilya_Shlyakhter
76a432dacc Added a comment: alternate keys 2020-01-31 19:23:38 +00:00
anarcat
21f58eeb3d link to the xxhash todo 2020-01-30 19:46:11 +00:00
Joey Hess
6f7a09c50f
fix quoting 2020-01-30 15:44:11 -04:00
Joey Hess
4131b7da04
fix inline 2020-01-30 15:40:46 -04:00
Joey Hess
a767622ad8
list of confirmed todos
aka, an actual todo list again
2020-01-30 15:37:21 -04:00
Joey Hess
b238f5e2a9
comment 2020-01-30 15:27:00 -04:00
Joey Hess
cffa2446e8
tagged the past 2 years of open todos and followed up to a few of them
also moved some that were really bug reports to bugs/ and closed a
couple
2020-01-30 15:22:05 -04:00
Joey Hess
c08d5612ee
correction 2020-01-30 13:04:53 -04:00
Joey Hess
962f1f2363
mention limitation of --known 2020-01-30 12:54:15 -04:00
Joey Hess
18efb40c85
comment 2020-01-30 12:49:00 -04:00
Joey Hess
103eb66fdb
comment 2020-01-30 12:43:31 -04:00
Joey Hess
be417c847c
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-30 12:41:17 -04:00
Joey Hess
e2ac9cf521
already fixed 2020-01-30 12:40:39 -04:00
Joey Hess
1427203226
comment 2020-01-30 11:42:36 -04:00
Ilya_Shlyakhter
9be407d49a Added a comment: use case to record chunked state 2020-01-29 17:48:43 +00:00
Joey Hess
f746a65877
more tagging 2020-01-29 11:34:14 -04:00
Joey Hess
1a0071f4d5
tagging todo items 2020-01-29 11:28:32 -04:00
Joey Hess
281bf13236
comment 2020-01-29 10:44:43 -04:00
https://christian.amsuess.com/chrysn
d2bc23487a Added a comment: Re: use of RAM disk 2020-01-29 07:49:12 +00:00
Ilya_Shlyakhter
8789697805 Added a comment: chunks and checksums 2020-01-28 18:20:36 +00:00
Ilya_Shlyakhter
486a0b236d Added a comment: use of RAM disk 2020-01-28 17:23:32 +00:00
https://christian.amsuess.com/chrysn
5f7be42858 Added a comment: Use of the RAM disk 2020-01-28 14:03:18 +00:00
Ilya_Shlyakhter
f2c13f73c9 added todo request: setpresentkey option to record chunked state 2020-01-27 20:28:46 +00:00
Ilya_Shlyakhter
2b1357bcc8 added suggestion: option to put temp files on a RAM disk 2020-01-27 18:24:44 +00:00
Ilya_Shlyakhter
9dd0de11eb added todo: let external remotes declare support for named pipes 2020-01-27 01:22:10 +00:00
Chel
99ead7bcf4 Added a comment 2020-01-26 22:48:09 +00:00
Joey Hess
5c6bf1be97
--whatelse is a better name than --describe-other-params
The use case is basically the user having forgotten, so --help would be
best, but it would be quite hard to include this in --help, since it may
even have to spin up an external special remote program.

I also considered --umm but typoed it the first time I tried it as
--uum, and while memorable, it's too cutesy. --whatelse is good because
it explicitly asks, what other params, besides the ones I've given?
2020-01-20 17:04:45 -04:00
Joey Hess
2be4122bfc
include passthrough params in --describe-other-params 2020-01-20 16:53:27 -04:00
Joey Hess
0b6fb506eb
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-17 17:30:09 -04:00
Joey Hess
b1c224dd48
done 2020-01-17 17:18:44 -04:00
yarikoptic
c1e2389e8e moving under datalad project, since I do not see explicit repronim-specific use case addressed 2020-01-17 17:32:08 +00:00
Joey Hess
8017f41476
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-15 14:16:27 -04:00
Joey Hess
ba518c625c
comment 2020-01-15 14:08:58 -04:00
kyle
76aa98ce83 Added a comment: re: what am I doing wrong? 2020-01-14 03:19:22 +00:00
yarikoptic
0fa983803f Added a comment: what am I doing wrong? 2020-01-13 20:05:40 +00:00
Joey Hess
4a135934ff
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-10 14:53:00 -04:00
Joey Hess
71ecfbfccf
be stricter about rejecting invalid configurations for remotes
This is a first step toward that goal, using the ProposedAccepted type
in RemoteConfig lets initremote/enableremote reject bad parameters that
were passed in a remote's configuration, while avoiding enableremote
rejecting bad parameters that have already been stored in remote.log

This does not eliminate every place where a remote config is parsed and a
default value is used if the parse false. But, I did fix several
things that expected foo=yes/no and so confusingly accepted foo=true but
treated it like foo=no. There are still some fields that are parsed with
yesNo but not not checked when initializing a remote, and there are other
fields that are parsed in other ways and not checked when initializing a
remote.

This also lays groundwork for rejecting unknown/typoed config keys.
2020-01-10 14:52:48 -04:00
https://christian.amsuess.com/chrysn
0207c44201 Added a comment: Summary; Application: shared thumbnails 2020-01-10 08:41:20 +00:00
Joey Hess
f735efc22c
comment 2020-01-09 16:54:11 -04:00
Joey Hess
e07a2d81d1
comment 2020-01-08 14:26:48 -04:00
Ilya_Shlyakhter
fdaa4e841a Added a comment: git-annex in docker on Windows 2020-01-08 16:16:32 +00:00
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec
ac8139edc0 Added a comment: WSL 1/2 experience 2020-01-08 15:20:07 +00:00
Joey Hess
8aa6f60fc3
plan 2020-01-07 14:27:53 -04:00
spwhitton
6a47c66388 Added a comment 2020-01-07 12:29:49 +00:00
Joey Hess
b5fc1b97f7
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-06 15:40:48 -04:00
Joey Hess
6db883d6db
comment 2020-01-06 15:39:50 -04:00
Joey Hess
1bd7ec6f06
fix typo in close 2020-01-06 15:35:11 -04:00
Joey Hess
4bb3d76c8c
comment 2020-01-06 15:33:06 -04:00
Joey Hess
0cb3bcbcb5
comment 2020-01-06 15:29:51 -04:00
yarikoptic
aec7892a9f Added a comment 2020-01-06 19:27:23 +00:00
Joey Hess
128ecac047
close, redundant 2020-01-06 14:44:37 -04:00
Joey Hess
6456672feb
comment and close 2020-01-06 14:42:40 -04:00
Joey Hess
ba0150ebba
comments 2020-01-06 14:33:29 -04:00
Joey Hess
2de3dddfd2
reinject --known: Fix bug that prevented it from working in a bare repo.
ifAnnexed in a bare repo passes to git cat-file :./filename , which it
refuses to do since the repo is bare.

Note that, reinject somefile someannexedfile in a bare repo silently does
nothing, because someannexedfile is never actually an annexed worktree
file, because the repo is bare.
2020-01-06 14:22:22 -04:00
Joey Hess
d9ed94f15b
comment 2020-01-06 13:59:03 -04:00
Joey Hess
84960da522
comment 2020-01-06 13:24:39 -04:00
Joey Hess
a9086df1e7
update
Removed some encoding issues that I think are no longer a problem.
2020-01-06 13:06:10 -04:00
Joey Hess
0c904bdf5d
comment 2020-01-06 13:06:06 -04:00
Joey Hess
491a2fd72f
Merge branch 'master' of ssh://git-annex.branchable.com 2020-01-06 12:55:26 -04:00
Joey Hess
d19dbdb05e
comment 2020-01-06 12:52:59 -04:00
AdamSpiers
d5ab0ec1cc Added a comment: Would you accept a patch implementing an annex.autocommit gitattribute? 2020-01-06 16:12:54 +00:00
yarikoptic
d734068724 a new TODO for having windows build with MagicMime 2020-01-04 04:25:48 +00:00
Joey Hess
bc70a8b3f6
comments 2020-01-01 15:03:01 -04:00
Joey Hess
2cea674d1e
Merge branch 'master' into v8 2020-01-01 14:26:43 -04:00
Joey Hess
503788238c
add --force-annex/--force-git
options make it easier to override annex.largefiles configuration
(and potentially safer as it avoids bugs like the smudge bug fixed
in the last release)

Deleted some old comments that were posted to the man page discussing such
options.

Updated docs that used -c annex.largefiles to use the options.

Note that addSmallOverridden was needed to avoid the clean filter running
on the file. It would be possible to make addFile also update the index
directly, rather than going via git add. However, it was not necessary,
and I want to avoid breaking on some edge case, particularly if the code in
addSmallOverridden has some oversight.

Also, when annex.addunlocked is set and annex.largefiles does not match a file,
git annex add --force-large works, but git status will then show the file
as added, with a unstaged modification. The unstaged modification adds the
file to git. This is identical behavior to using -c annex.largefiles=nothing
when annex.addunlocked is set. This does not prevent committing what was
intended to be added. I have not gotten to the bottom of why git thinks
the file is modified and runs it through the clean filter in this case.
2020-01-01 14:03:06 -04:00
Ilya_Shlyakhter
98b5762963 Added a comment: named pipes and external remotes 2019-12-31 01:38:03 +00:00
Joey Hess
8ea9f1bc5c
comment 2019-12-30 14:36:04 -04:00
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
Joey Hess
3cd3757236
annex.dotfiles
The git add behavior changes could be avoided if it turns out to be
really annoying, but then it would need to behave the old way when
annex.dotfiles=false and the new way when annex.dotfiles=true. I'd
rather not have the config option result in such divergent behavior as
`git annex add .` skipping a dotfile (old) vs adding to annex (new).

Note that the assistant always adds dotfiles to the annex.
This is surprising, but not new behavior. Might be worth making it also
honor annex.dotfiles, but I wonder if perhaps some user somewhere uses
it and keeps large files in a directory that happens to begin with a
dot. Since dotfiles and dotdirs are a unix culture thing, and the
assistant users may not be part of that culture, it seems best to keep
its current behavior for now.
2019-12-26 16:33:39 -04:00
Joey Hess
2b821eb225
Merge branch 'master' into sqlite 2019-12-26 15:15:42 -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
02e00fd7ab
Merge branch 'master' into sqlite 2019-12-19 16:33:42 -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
f6c18f6940
Merge branch 'bs' into sqlite-bs 2019-12-18 15:14:44 -04:00
Joey Hess
7d9dff5b05
Merge branch 'master' into bs
and update changelog
2019-12-18 15:13:30 -04:00
Joey Hess
d5628a16b8
Merge branch 'bs' into sqlite-bs 2019-12-18 14:51:03 -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
2f9a80d803
merging sqlite and bs branches
Since the sqlite branch uses blobs extensively, there are some
performance benefits, ByteStrings now get stored and retrieved w/o
conversion in some cases like in Database.Export.
2019-12-06 15:30:45 -04: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
7263aafd2b
Merge branch 'master' into sqlite 2019-11-22 12:49:35 -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
d4661959de
Merge branch 'master' into sqlite 2019-11-21 17:26:50 -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
446ce47038
Merge branch 'master' into sqlite 2019-11-07 13:26:45 -04:00
Joey Hess
8f276f33b7
update status of sqlite branch 2019-11-07 13:26:05 -04:00
Joey Hess
3553867b66
v7 to v8 auto-upgrade
bump version to 8

and update NEWS about it
2019-11-07 13:24:16 -04:00
Joey Hess
cefdea8073
results of more testing 2019-11-07 13:10:39 -04:00
Joey Hess
2f94b5419a
use new name for new format export dbs
Delete the old export dbs on upgrade.

Testing this an exporting to a directory with both exporttree=yes and
importtree=yes, it refused to let an interrupted export proceed after
upgrade, with "unsafe to overwrite file". An import resolved the
problem.
2019-11-06 17:34:15 -04:00
Joey Hess
3b820f08f7
use new name for new format content identifier db
It will be populated automatically by the next command that needs data
from it, the same way it gets populated in a fresh clone. That may be a
little expensive, but it's a one time cost, and no slower than in a
fresh clone.
2019-11-06 16:43:52 -04:00
Joey Hess
1b5f4b67b5
use new name for new format fsck db
The old db is cleaned up when a new incremental fsck is started.

The incremental fsck won't pick up where the old one left off, but I
consider this a minor enough thing that it can just be documented and
won't be a problem.
2019-11-06 16:27:25 -04:00
Joey Hess
89bdcffdfa
found a way to extract InodeCache from git index
This will allow a race-free database transition. It is somewhat hairy in
that it depends on an unspecified git output format.
2019-11-06 14:23:00 -04:00
Joey Hess
6147130e86
Merge branch 'master' into sqlite 2019-11-05 12:59:28 -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
Joey Hess
b1cf0869db
link to todo 2019-11-04 11:48:45 -04:00
Joey Hess
96c81fa4f1
comment 2019-11-04 11:47:21 -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
Joey Hess
d3e4de0175
fix test suite
The test suite found a bug; select_ can fail now because a uniqueness
constrain has been added.

Now the test suite passes.

Also, I'm satisfied the changed PersistField instances work.
Looking over what changed, and what I've already tested, Key, FilePath,
and InodeCache are known working; ContentIdentifier is trivial
ByteString to blob; and SSha is trivial String to varchar. Both are
tested by the test suite. I've also tested the new FileSize and
EpochTime instances already, and they work.
2019-10-30 15:51:37 -04:00
Joey Hess
d7ecac66d2
notes 2019-10-30 15:31:16 -04:00
Joey Hess
4940a135af
eliminate raw sql LIKE query 2019-10-30 15:19:52 -04:00
Joey Hess
09c7cbbaa8
update for things already fixed in this branch 2019-10-30 13:57:22 -04:00
Joey Hess
9085a2cfec
make sure all sqlite selects have indexes
Bearing in mind that these indexes are really uniqueness constraints
that just happen to also make sqlite generate indexes.

In Database.ContentIndentifier, the ContentIndentifiersKeyRemoteCidIndex
is fine as a uniqueness constraint because it contains all rows from the
table. The ContentIndentifiersCidRemoteIndex is also ok because there
can only be one key for a given (cid, uuid) combination.

In Database.Export, the new ExportTreeFileKeyIndex is the same pair as
the old ExportTreeKeyFileIndex (previously ExportTreeIndex). And
in Database.Keys.SQL, the new InodeCacheKeyIndex is the same pair as the
old KeyInodeCacheIndex.
2019-10-30 13:46:52 -04: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
Ilya_Shlyakhter
599d438fa6 Added a comment 2019-10-11 16:23:08 +00:00
Joey Hess
cb08cb0052
Merge branch 'master' of ssh://git-annex.branchable.com 2019-10-10 16:18:46 -04:00
Joey Hess
0dd5691951
update notes 2019-10-10 16:12:59 -04:00
Ilya_Shlyakhter
159ba92ea1 added todo for separate annex.largefiles.git-add and annex.largefiles.git-annex-add settings 2019-10-10 18:29:03 +00:00
Joey Hess
d1130ea04a
get rid of hardcoded "name" lookups
Support "sameas-name" being set instead.

In RenameRemote, rename which ever of the two is set.
2019-10-10 13:25:10 -04:00