Commit graph

30440 commits

Author SHA1 Message Date
Joey Hess
1a6fa5abc8
add debugging for reconcileStaged calls for benchmarking 2021-06-08 11:57:23 -04:00
Joey Hess
13b9a288d3
scanAnnexedFiles in smudge --update
This makes git checkout and git merge hooks do the work to catch up with
changes that they made to the tree. Rather than doing it at some later
point when the user is not thinking about that past operation.

Sponsored-by: Dartmouth College's Datalad project
2021-06-08 11:37:47 -04:00
yarikoptic
62758ffb9f Added a comment: slow down is OSX specific 2021-06-08 14:28:18 +00:00
Joey Hess
d12120739d
comment 2021-06-08 10:19:04 -04:00
yarikoptic
57b567ac87 Added a comment 2021-06-07 21:39:05 +00:00
yarikoptic
2ffb9cc01b Added a comment: clarification 2021-06-07 21:20:35 +00:00
Joey Hess
e9a8b48a52
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-07 17:02:15 -04:00
Joey Hess
2467de4f9b
todo 2021-06-07 16:58:35 -04:00
Joey Hess
0f10f208a7
avoid double work in git-annex init
reconcileStaged was doing a redundant scan to scannAnnexedFiles.

It would probably make sense to move the body of scannAnnexedFiles
into reconcileStaged, the separation does not really serve any purpose.

Sponsored-by: Dartmouth College's Datalad project
2021-06-07 16:50:14 -04:00
Joey Hess
6ceb31a30a
optimise reconcileStaged with git cat-file streaming
Commit 428c91606b made it need to do more
work in situations like switching between very different branches.

Compare with seekFilteredKeys which has a similar optimisation. Might be
possible to factor out the common part from these?

Sponsored-by: Dartmouth College's Datalad project
2021-06-07 15:26:48 -04:00
Ilya_Shlyakhter
bdf3c06401 Added a comment: deferring the scan 2021-06-07 17:41:45 +00:00
Joey Hess
570e93abfd
comment 2021-06-07 13:28:36 -04:00
Joey Hess
1c35cacf8e
fix link 2021-06-07 13:06:16 -04:00
Joey Hess
b960ebf1b3
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-07 12:59:21 -04:00
Joey Hess
0101363eb8
correctly update keys db in merge conflict
This is quite a subtle edge case, see the bug report for full details.

The second git diff is needed only when there's a merge conflict.
It would be possible to speed it up marginally by using
--diff-filter=Unmerged, but probably not enough to bother with.

Sponsored-by: Graham Spencer on Patreon
2021-06-07 12:52:36 -04:00
Ilya_Shlyakhter
4d581ad6b4 Added a comment: deferring the keys-to-files scan 2021-06-07 16:11:01 +00:00
Joey Hess
da24034331
comment 2021-06-07 11:53:25 -04:00
Joey Hess
a0bba3afad
comment 2021-06-07 11:49:28 -04:00
Joey Hess
3aabaa1a2b
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-07 11:47:13 -04:00
Joey Hess
254199edc9
comment 2021-06-07 11:46:47 -04:00
Ilya_Shlyakhter
5359f8bc14 added suggestion to match keys by file extension in the key 2021-06-07 15:08:51 +00:00
Ilya_Shlyakhter
def7e001c6 Added a comment: keeping connected files together 2021-06-07 14:45:35 +00:00
jwodder
8822bf0803 2021-06-07 14:32:25 +00:00
Ilya_Shlyakhter
58a07c6a42 removed 2021-06-07 14:31:52 +00:00
Ilya_Shlyakhter
da98ede56a Added a comment: specifying preferred content by metadata 2021-06-07 14:26:57 +00:00
Ilya_Shlyakhter
3d8cd26497 Added a comment: specifying preferred content by metadata 2021-06-07 14:26:27 +00:00
Atemu
a706708d17 Added a comment 2021-06-06 20:47:31 +00:00
Lukey
cf9a93e901 Added a comment 2021-06-06 18:01:08 +00:00
Atemu
550f67d8b4 2021-06-06 17:18:14 +00:00
Atemu
234d235a03 rename bugs/delayadd_doesn__39__t_work.mdwn to bugs/delayadd_doesn__39__t_work_with_smallfiles.mdwn 2021-06-06 16:50:40 +00:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
fe518e13d5 Added a comment: using import tree and export tree 2021-06-06 14:43:40 +00:00
falsifian
f58d686ccf Add bug report 2021-06-05 20:31:39 +00:00
yarikoptic
717000f4f8 Added a comment 2021-06-05 13:50:43 +00:00
yarikoptic
c5e62c1968 Initial report on performance regression 2021-06-05 13:23:13 +00:00
alt
8054fef09a Added a comment 2021-06-05 13:07:48 +00:00
lucas.gautheron@09f1983993dfb0907d02ba268b3ca672f1dc3eea
b38dc11a37 Added a comment 2021-06-05 10:10:57 +00:00
Ilya_Shlyakhter
d39dfed2a7 Added a comment: "why all these wild ideas are being thrown out there" 2021-06-04 22:15:33 +00:00
Joey Hess
a2c9360905
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-04 16:45:02 -04:00
Joey Hess
8a13bbedd6
--size-limit exit 101
Sponsored-by: Mark Reidenbach on Patreon
2021-06-04 16:43:47 -04:00
Atemu
ee5f30ee6b 2021-06-04 20:26:27 +00:00
Joey Hess
771a122c9e
add --size-limit option
When this option is not used, there should be effectively no added
overhead, thanks to the optimisation in
b3cd0cc6ba.

When an action fails on a file, the size of the file still counts toward
the size limit. This was necessary to support concurrency, but also
generally seems like the right choice.

Most commands that operate on annexed files support the option.
export and import do not, and I don't know if it would make sense for
export to.. Why would you want an incomplete export? sync doesn't, and
while it would be easy to make it support it for transferring files,
it's not clear if dropping files should also take the size limit into
account. Commands like add that don't operate on annexed files don't
support the option either.

Exiting 101 not yet implemented.

Sponsored-by: Denis Dzyubenko on Patreon
2021-06-04 16:16:53 -04:00
Joey Hess
4b6cb2b917
comment 2021-06-04 14:00:58 -04:00
Joey Hess
7868dbd5e0
comment 2021-06-04 13:53:24 -04:00
Joey Hess
327033c2e5
comment 2021-06-04 13:36:51 -04:00
Joey Hess
0434674c85
avoid displaying the scanning annexed files message when repo is not large
Avoids users thinking this scan is a big deal, when it's not in the
majority of repos.

showSideActionAfter has some ugly caveats, since it has to display in
the background of another action. I could not see a better way to do it
and it works fine in this particular case. It also doesn't really belong
in Annex.Concurrent, but cannot go in Messages due to an import loop.

Sponsored-by: Dartmouth College's Datalad project
2021-06-04 13:16:48 -04:00
Joey Hess
95cec1bdfe
comment 2021-06-04 13:14:29 -04:00
yarikoptic
b925ea2923 about "scanning for annexed" while in git-annex branch 2021-06-04 15:20:34 +00:00
alt
651fe3f396 Added a comment 2021-06-04 10:13:06 +00:00
Atemu
f70251d638 2021-06-03 13:36:20 +00:00
Ilya_Shlyakhter
de12aeb1a4 Added a comment: matching include/exclude based on file extension in the key 2021-06-02 17:02:58 +00:00
Ilya_Shlyakhter
6a2bfad192 Added a comment: keys db optimization 2021-06-02 16:53:03 +00:00
Joey Hess
6f3f972355
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-01 11:43:36 -04:00
Joey Hess
5b7429e73a
avoid removing old associated file when there is a merge conflict
It makes sense to keep the key used by the old version of an
associated file, until the merge conflict is resolved.

Note that, since in this case git diff is being run with --index, it's
not possible to use -1 or -3, which would let the keys
associated with the new versions of the file also be added. That would
be better, because it's possible that the local modification to the file
that caused the merge conflict has not yet gotten its new key recorded
in the db.

Opened a bug about a case this is thus not able to address.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-06-01 11:43:00 -04:00
Joey Hess
3155c0d03e
todo 2021-06-01 10:39:48 -04:00
Ilya_Shlyakhter
a7e8a630fb Added a comment: keys-to-paths db 2021-05-31 23:15:21 +00:00
Joey Hess
f00e365f41
comments 2021-05-31 17:54:17 -04:00
Ilya_Shlyakhter
2dac55978c Added a comment: startup scan for files 2021-05-31 20:50:36 +00:00
Lukey
13a3601319 Added a comment 2021-05-31 19:26:52 +00:00
Joey Hess
1b0dd1f7f4
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-31 15:19:34 -04:00
Lukey
8c296ee0dc Added a comment 2021-05-31 19:17:44 +00:00
Joey Hess
8734f17bc5
comment 2021-05-31 15:15:09 -04:00
Atemu
1b6715b4ca Added a comment 2021-05-31 19:07:31 +00:00
Joey Hess
988dbce27a
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-31 15:05:40 -04:00
Joey Hess
eb6f6ff9b8
speed up keys database writes
There seems to be no reason to check the time here. I think it was
inherited from code in Database.Fsck, which does have a reason to commit
every few minutes. Removing that syscall speeds up a git-annex init
in a repo with 100000 annexed files by about 3 seconds.

Sponsored-by: Dartmouth College's Datalad project
2021-05-31 15:01:00 -04:00
Atemu
6da7f26e2a 2021-05-31 18:59:15 +00:00
Atemu
ae129dc317 2021-05-31 18:42:56 +00:00
Joey Hess
0f54e5e0ae
speed up initial scanning for annexed files
Streaming through git this way speeds it up by around 25%. This is
similar to the optimisations of seeking annexed files.

Sponsored-by: Dartmouth College's Datalad project
2021-05-31 14:29:34 -04:00
Atemu
4f49322660 2021-05-31 18:19:42 +00:00
Joey Hess
759e5a9903
todo 2021-05-31 10:50:22 -04:00
Joey Hess
4a12831d7c
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-31 10:44:35 -04:00
Joey Hess
3b7f28feca
comment 2021-05-31 10:43:59 -04:00
Ilya_Shlyakhter
66355b99a3 ikiwiki server slowdown 2021-05-30 19:43:27 +00:00
Ilya_Shlyakhter
9dbf93b9c5 Added a comment: clarifying preferred content expressions 2021-05-30 19:40:51 +00:00
Lukey
96e78b0262 Added a comment 2021-05-29 17:22:40 +00:00
Steven
d6c496b590 Added a comment 2021-05-29 14:06:25 +00:00
frodo
c283b86db8 Added a comment 2021-05-29 13:51:50 +00:00
Lukey
e0f2e8b429 Added a comment 2021-05-29 13:40:04 +00:00
frodo
0650222a23 2021-05-29 13:27:12 +00:00
Lukey
caf00e8568 Added a comment 2021-05-29 12:40:57 +00:00
Steven
57df23c134 Added a comment: Using the --content flag 2021-05-29 00:14:31 +00:00
Steven
6b0f4eeb1f 2021-05-29 00:09:48 +00:00
Joey Hess
790fb2c051
devblog 2021-05-27 12:45:06 -04:00
Joey Hess
189fb05ffb
Added annex.adviceNoSshCaching config.
Sponsored-by: Brock Spratlen on Patreon
2021-05-27 12:37:49 -04:00
Joey Hess
9ad9e1eb65
comment 2021-05-27 12:23:57 -04:00
Joey Hess
57a0ef8d90
comment and reject todo 2021-05-27 12:19:35 -04:00
Joey Hess
29fee03a1b
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-27 12:14:29 -04:00
Joey Hess
30e1ff8550
comment 2021-05-27 12:13:49 -04:00
Atemu
0a0889e72e Added a comment 2021-05-26 07:11:20 +00:00
Joey Hess
13a6bfff49
comments 2021-05-25 16:37:32 -04:00
Joey Hess
f5dc06077d
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-25 13:10:34 -04:00
Joey Hess
b5f5475ed6
New matching options --excludesamecontent and --includesamecontent
The normalisation of filenames turns out to be the tricky part here,
because the associated files coming out of the keys db may look like
"./foo/bar" or "../bar". For the former to match a glob like "foo/*",
it needs to be normalised.

Note that, on windows, normalise "./foo/bar" = "foo\\bar"
which a glob like "foo/*" won't match. So the glob is matched a second
time, on the toInternalGitPath, so allowing the user to provide a glob
with the slashes in either direction. However, this still won't support
some wacky edge cases like the user providing a glob of "foo/bar\\*"

Sponsored-by: Dartmouth College's Datalad project
2021-05-25 13:08:18 -04:00
Lukey
2ccf525b7f Added a comment 2021-05-25 16:48:26 +00:00
Joey Hess
cd73fcc92c
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-25 11:45:02 -04:00
Joey Hess
483fc4dc6b
Merge branch 'trackassociated' 2021-05-25 11:43:52 -04:00
Joey Hess
e9c95ef890
comments 2021-05-25 11:43:46 -04:00
Atemu
7ed4c4a35c 2021-05-25 14:51:21 +00:00
Joey Hess
01331f0b8f
required content update 2021-05-25 10:04:29 -04:00
Joey Hess
45c0fb29f0
update 2021-05-25 09:58:46 -04:00
datamanager
b6f6c7c778 Added a comment: is there some way to remove a file I've commited? 2021-05-25 13:10:35 +00:00
Atemu
82ee0f053b Added a comment 2021-05-25 11:00:39 +00:00
Joey Hess
9a5981a153
comment 2021-05-24 16:43:06 -04:00
Joey Hess
125a28c58e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-24 16:31:58 -04:00
Joey Hess
07c98a4ce2
update 2021-05-24 16:31:14 -04:00
Joey Hess
63de81b52a
Merge branch 'master' into trackassociated 2021-05-24 16:27:24 -04:00
Joey Hess
2de49c186f
update 2021-05-24 16:27:07 -04:00
Joey Hess
44a0d21e57
Merge branch 'master' into trackassociated 2021-05-24 16:24:53 -04:00
Joey Hess
a56b151f90
fix longstanding indeterminite preferred content for duplicated file problem
* drop: When two files have the same content, and a preferred content
  expression matches one but not the other, do not drop the file.
* sync --content, assistant: Fix an edge case where a file that is not
  preferred content did not get dropped.

The sync --content edge case is that handleDropsFrom loaded associated files
and used them without verifying that the information from the database was
not stale.

It seemed best to avoid changing --want-drop's behavior, this way when
debugging a preferred content expression with it, the files matched will
still reflect the expression. So added a note to the --want-drop documentation,
to make clear it may not behave identically to git-annex drop --auto.

While it would be possible to introspect the preferred content
expression to see if it matches on filenames, and only look up the
associated files when it does, it's generally fairly rare for 2 files to
have the same content, and the database lookup is already avoided when
there's only 1 file, so I did not implement that further optimisation.

Note that there are still some situations where the associated files
database does not get locked files recorded in it, which will prevent
this fix from working.

Sponsored-by: Dartmouth College's Datalad project
2021-05-24 14:07:05 -04:00
Joey Hess
78be7cf73f
remove warning about combining options
the option parser no longer allows combining --want-get/--want-drop with
options like --all
2021-05-24 13:53:28 -04:00
Joey Hess
c1b5028211
update 2021-05-24 11:59:01 -04:00
Joey Hess
3698e804d4
Merge branch 'master' into trackassociated 2021-05-24 10:24:53 -04:00
parhuzamos
54e1ac849a Added a comment 2021-05-24 09:33:50 +00:00
Ilya_Shlyakhter
bcedcef97f Added a comment: defining preferred content state 2021-05-23 20:39:23 +00:00
alt
8aedf51032 2021-05-23 03:07:50 +00:00
falsifian
2866d53797 On second thought, simpler not to mention the version. 2021-05-23 01:12:33 +00:00
falsifian
fb681d4fcf git-annex is available for OpenBSD 6.9. 2021-05-23 01:11:56 +00:00
Atemu
3eb6a3b05f Added a comment 2021-05-22 17:31:01 +00:00
Lukey
be6bf5ba35 Added a comment 2021-05-22 17:19:19 +00:00
Atemu
8daca82623 Added a comment 2021-05-22 17:02:07 +00:00
Atemu
21fba1cdb8 Added a comment 2021-05-22 10:20:35 +00:00
Atemu
0b89436b47 Added a comment 2021-05-22 09:55:31 +00:00
strmd
4ef58fd093 Added a comment 2021-05-22 05:16:45 +00:00
Joey Hess
b81f5532c6
comment 2021-05-21 16:44:44 -04:00
Joey Hess
428c91606b
include locked files in the keys database associated files
Before only unlocked files were included.

The initial scan now scans for locked as well as unlocked files. This
does mean it gets a little bit slower, although I optimised it as well
as I think it can be.

reconcileStaged changed to diff from the current index to the tree of
the previous index. This lets it handle deletions as well, removing
associated files for both locked and unlocked files, which did not
always happen before.

On upgrade, there will be no recorded previous tree, so it will diff
from the empty tree to current index, and so will fully populate the
associated files, as well as removing any stale associated files
that were present due to them not being removed before.

reconcileStaged now does a bit more work. Most of the time, this will
just be due to running more often, after some change is made to the
index, and since there will be few changes since the last time, it will
not be a noticable overhead. What may turn out to be a noticable
slowdown is after changing to a branch, it has to go through the diff
from the previous index to the new one, and if there are lots of
changes, that could take a long time. Also, after adding a lot of files,
or deleting a lot of files, or moving a large subdirectory, etc.

Command.Lock used removeAssociatedFile, but now that's wrong because a
newly locked file still needs to have its associated file tracked.

Command.Rekey used removeAssociatedFile when the file was unlocked.
It could remove it also when it's locked, but it is not really
necessary, because it changes the index, and so the next time git-annex
run and accesses the keys db, reconcileStaged will run and update it.

There are probably several other places that use addAssociatedFile and
don't need to any more for similar reasons. But there's no harm in
keeping them, and it probably is a good idea to, if only to support
mixing this with older versions of git-annex.

However, mixing this and older versions does risk reconcileStaged not
running, if the older version already ran it on a given index state. So
it's not a good idea to mix versions. This problem could be dealt with
by changing the name of the gitAnnexKeysDbIndexCache, but that would
leave the old file dangling, or it would need to keep trying to remove
it.
2021-05-21 16:24:37 -04:00
Joey Hess
df0b75cdc4
complications 2021-05-21 14:18:38 -04:00
Joey Hess
1d9bad51d2
plan for these 2021-05-21 13:50:26 -04:00
Joey Hess
f39b7c3663
comment 2021-05-21 12:39:35 -04:00
Joey Hess
d5e18c8710
comment 2021-05-21 12:26:00 -04:00
Joey Hess
a26e7d763d
comment 2021-05-21 12:07:21 -04:00
Joey Hess
442398e1e0
comment 2021-05-21 11:48:57 -04:00
Joey Hess
414dc39a12
comment 2021-05-21 11:31:38 -04:00
Joey Hess
9dbbecc8f4
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-21 11:28:17 -04:00
Joey Hess
5393c0ae58
reopen per comment 2021-05-21 11:27:13 -04:00
Joey Hess
b68a40fa88
todo 2021-05-20 11:18:46 -04:00
Nick_P
588f8461cb Added a comment 2021-05-20 10:43:14 +00:00
Atemu
0b2c17b49b Added a comment 2021-05-19 17:13:45 +00:00
Nick_P
bfede8f92d Added a comment 2021-05-19 16:59:21 +00:00
Atemu
e9e3cc015e Added a comment 2021-05-19 16:54:19 +00:00
Joey Hess
84366fa2d0
fix by improving docs 2021-05-19 11:13:53 -04:00
Joey Hess
64e26287dd
comment 2021-05-19 11:07:02 -04:00
Joey Hess
901f1fc74c
comment 2021-05-19 10:55:35 -04:00
Nick_P
bff290d864 Added a comment 2021-05-19 14:35:43 +00:00
Nick_P
f7c99032d7 Added a comment 2021-05-19 14:29:23 +00:00
strmd
84ceedb263 Added a comment 2021-05-19 07:00:58 +00:00
strmd
131208bb72 2021-05-19 06:56:34 +00:00
strmd
2ade910ca6 Added a comment 2021-05-19 06:33:03 +00:00
Nick_P
2dbe699b78 2021-05-18 17:35:33 +00:00
Atemu
94fb769e76 removed 2021-05-18 17:16:12 +00:00
Atemu
48314f625f Added a comment 2021-05-18 16:23:09 +00:00
Atemu
4a76ba8761 Forgot the assistant needed for repro 2021-05-18 16:16:56 +00:00
yarikoptic
674f33c139 todo for extra logging when content changed 2021-05-18 14:05:18 +00:00
Atemu
828a5922df Added a comment 2021-05-18 09:13:32 +00:00
Joey Hess
7d57866c3e
update for filter-branch 2021-05-17 15:03:47 -04:00
Joey Hess
c525d18cf7
filter-branch: New command, useful to produce a filtered version of the git-annex branch, eg when splitting a repository 2021-05-17 14:16:46 -04:00
Joey Hess
40f093775c
Merge branch 'filter-branch' 2021-05-17 14:16:13 -04:00
Joey Hess
24c7d9ba78
decided not to include export/import trees
They're only needed to cover a gc edge case, and it's better someone
gets caught by that edge case than that someone who does not know about
them ends up with a filtered git-annex branch that contains such a tree
when some of the files listed in it are ones they wanted to *remove*
from the repository.
2021-05-17 14:12:15 -04:00
Joey Hess
2420910ab8
include info for sameas repos
It's not currently possible to exclude a sameas repo using its
annex-config-uuid. (Remote.nameToUUID rejects them).
Since there's no real documented way to learn those, this seems ok, at
least for now. Also it avoids the problem of someone excluding the
parent but including the sameas, which would probably make the sameas
repo not usable when using the filtered branch.
2021-05-17 14:04:14 -04:00
Joey Hess
984034f335
filter-branch working aside from some edge cases
Added a note to man page about what happens to information that is
recorded in the private journal. Since it uses Branch.get, that
information will be copied when options allow. It seemed better to allow
it and document it than not allow it, since the options allow excluding
repositories and so can be used to exclude private repos if desired.
2021-05-17 13:24:58 -04:00
https://esgf-node.llnl.gov/esgf-idp/openid/tom_clune
7d0b42e5cc Added a comment: update 2021-05-17 14:53:19 +00:00
jrayguinn@616789b2aec6c923cd9897c86987f05581df3601
1e75348405 Added a comment: I Am. 2021-05-17 09:42:32 +00:00
jrayguinn@616789b2aec6c923cd9897c86987f05581df3601
03f91bd1c0 Added a comment: I Am. 2021-05-17 09:42:12 +00:00
Atemu
b4b6977cab Added a comment 2021-05-16 11:37:25 +00:00
Atemu
9b61cea255 2021-05-16 11:30:38 +00:00
Atemu
944b132103 2021-05-16 11:05:15 +00:00
Atemu
54db5df937 Added a comment 2021-05-16 10:27:47 +00:00
Joey Hess
309c1bc1f0
Merge branch 'master' into filter-branch 2021-05-14 14:17:31 -04:00
Joey Hess
80a9944f3b
don't implicitly include all when exclude options are used
This is less erorr-prone, and easier for the user to reason about; it
preserves the man page's promise that only explicitly included
information will be copied.
2021-05-14 14:14:46 -04:00
Joey Hess
a58c90ccf4
skeleton of filter-branch command, with option parser 2021-05-14 10:59:48 -04:00
Joey Hess
5004eed27d
branch 2021-05-13 16:18:35 -04:00
Joey Hess
a71c002ac1
git-annex-filter-branch man page 2021-05-13 16:17:45 -04:00
Joey Hess
715d3d728c
new name for command 2021-05-13 16:07:30 -04:00
Joey Hess
40ade7a515
add some functions listing log files
Not used yet, will be used by copy-branch to generate the list of files
to copy.
2021-05-13 14:57:38 -04:00
Joey Hess
13a8706cda
almost have a plan 2021-05-13 14:09:06 -04:00
Joey Hess
03f46b95e6
comment 2021-05-13 12:05:24 -04:00
Atemu
d8ed6daeb3 Added a comment 2021-05-13 10:26:53 +00:00
Joey Hess
6eadcab5bf
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-12 15:09:35 -04:00
Joey Hess
947d2a10bc
assistant: Fix a crash on startup by avoiding using forkProcess
ghc 8.8.4 seems to have changed something that broke code that has been
successfully using forkProcess since 2012. Likely a change to GC internals.

Since forkProcess has never had clear documentation about how to
use it safely, avoid using it at all. Instead, when git-annex needs to
daemonize itself, re-run the git-annex command, in a new process group
and session.

This commit was sponsored by Luke Shumaker on Patreon.
2021-05-12 15:08:03 -04:00
Joey Hess
ba7598dbab
comment 2021-05-12 13:39:15 -04:00
https://esgf-node.llnl.gov/esgf-idp/openid/tom_clune
f64937d118 removed 2021-05-12 16:44:38 +00:00
https://esgf-node.llnl.gov/esgf-idp/openid/tom_clune
db317f148f Added a comment 2021-05-12 16:41:27 +00:00
https://esgf-node.llnl.gov/esgf-idp/openid/tom_clune
9df64128b3 Added a comment 2021-05-12 16:41:07 +00:00
Joey Hess
7500ba7ceb
already implemented 2021-05-12 12:24:55 -04:00
Joey Hess
a0225ff41c
comment 2021-05-12 12:22:17 -04:00
Joey Hess
ea325f41ea
comment 2021-05-12 11:38:35 -04:00
Joey Hess
7e2fda5307
comment 2021-05-12 11:37:36 -04:00
Joey Hess
afdc201d1c
comment 2021-05-12 11:24:55 -04:00
Joey Hess
7949cfe318
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-12 11:13:00 -04:00
Atemu
9e8e747654 Added a comment 2021-05-12 14:17:06 +00:00
Lukey
20af8b311a 2021-05-11 11:22:31 +00:00
Lukey
27b98f6f0d Added a comment 2021-05-11 10:28:12 +00:00
Lukey
add38774d1 Added a comment 2021-05-11 09:21:38 +00:00
Lukey
61a3a7e0c3 Added a comment 2021-05-11 08:50:36 +00:00
Lukey
810fe88d5a Added a comment 2021-05-11 08:41:42 +00:00
Lukey
06e167291d Added a comment 2021-05-11 07:37:08 +00:00
Joey Hess
8dbbbc7250
idea 2021-05-10 19:16:15 -04:00
erics
a890c7e3d0 Added a comment 2021-05-10 22:06:02 +00:00
erics
f1509f920d Added a comment: D'oh! 2021-05-10 21:26:25 +00:00
Joey Hess
ed5fd5b841
mention index mode explicitly 2021-05-10 15:21:23 -04:00
Joey Hess
54f5afef1f
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-10 15:20:08 -04:00
Joey Hess
c12799b101
comment 2021-05-10 15:12:59 -04:00
kyle
728d8d8aab Added a comment 2021-05-10 19:05:58 +00:00
Joey Hess
2f88d99a94
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-10 15:02:31 -04:00
Joey Hess
b184fc490a
split out common options to its own page and mention it on each subcommand page
Sometimes users would get confused because an option they were looking
for was not mentioned on a subcommand's man page, and they had not
noticed that the main git-annex man page had a list of common options.
This change lets each subcommand mention the common options, similarly
to how the matching options are handled.

This commit was sponsored by Svenne Krap on Patreon.
2021-05-10 15:00:13 -04:00
Joey Hess
8ab04788ef
comment 2021-05-10 14:43:37 -04:00
erics
7592abcd5e 2021-05-10 17:58:51 +00:00
Joey Hess
c60b66d442
comment 2021-05-10 12:44:53 -04:00
Joey Hess
dc412c6d75
comment 2021-05-10 12:42:56 -04:00
Joey Hess
72a8bbce12
Revert "smudge: check for known annexed inodes before checking annex.largefiles"
This reverts commit 424bef6b6f.

This commit caused other buggy behavior unfortunately.
2021-05-10 12:20:13 -04:00
Joey Hess
56ccc0302e
mention --all on fsck man page, and repurpose todo 2021-05-10 11:11:50 -04:00
Joey Hess
c88fdd91f9
comment and close 2021-05-10 11:04:50 -04:00
Joey Hess
9cc8e24727
comment 2021-05-10 10:48:44 -04:00
Joey Hess
0ab9d0dfad
comment 2021-05-10 10:37:28 -04:00
Atemu
c09497dfad Added a comment 2021-05-10 14:13:55 +00:00
Lukey
c2b1c730a5 Added a comment 2021-05-10 12:21:37 +00:00
Atemu
689a26d25a 2021-05-10 11:01:43 +00:00
Atemu
f0b553a25a 2021-05-10 10:53:12 +00:00
Atemu
3dc9833d53 2021-05-10 10:26:45 +00:00
Joey Hess
e53bd0c6c0
user error, not a bug 2021-05-09 20:58:35 -04:00
Joey Hess
a8e8ad95a2
bug report 2021-05-09 20:55:07 -04:00
strmd
402a06c515 Added a comment 2021-05-07 20:00:08 +00:00
kyle
5a5ef1c869 Added a comment: thanks 2021-05-07 18:07:24 +00:00
Joey Hess
921753ac44
reinject: Error out when run on a file that is not annexed
rather than silently skipping it
2021-05-07 13:31:03 -04:00
Joey Hess
6b980c1514
comment 2021-05-07 13:13:48 -04:00
Joey Hess
9e1a693f16
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-07 11:44:58 -04:00
Joey Hess
0caf171c63
patch review 2021-05-07 11:44:30 -04:00
Ilya_Shlyakhter
fd60824979 Added a comment: different keys for the same content 2021-05-07 15:37:46 +00:00
Joey Hess
eaea173bc2
applied patch 2021-05-07 11:11:10 -04:00
Joey Hess
5332cf8a80
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-07 11:09:21 -04:00
kyle
cc36fd261e reinject: silent failure with absolute path to pointer file 2021-05-06 19:26:52 +00:00
kyle
06e996efad patch: fromkey: create directory for pointer files too 2021-05-06 15:23:07 +00:00
pat
dab2030702 Added a comment 2021-05-05 22:51:29 +00:00
Joey Hess
18f27dc60d
update 2021-05-05 17:30:35 -04:00
pat
f3ee163b8e Added a comment 2021-05-05 19:39:12 +00:00
pat
da5598da21 2021-05-05 19:06:19 +00:00
Lukey
49f9f696f1 Added a comment 2021-05-05 18:08:49 +00:00
https://esgf-node.llnl.gov/esgf-idp/openid/tom_clune
5d8ee97297 2021-05-05 16:31:32 +00:00
Atemu
e686a878ed 2021-05-05 08:52:28 +00:00
Atemu
4da2206148 Added a comment 2021-05-05 07:33:07 +00:00
Atemu
78948270e2 2021-05-05 06:11:51 +00:00
Atemu
931a55b9a4 Added a comment 2021-05-05 06:04:49 +00:00
Atemu
857bffe388 Added a comment 2021-05-05 05:43:56 +00:00
pat
5bb85d76d8 2021-05-05 02:51:47 +00:00
kyle
8f0ddf0925 git-commit pathspec change due to 424bef6b6 2021-05-04 21:43:41 +00:00
cecile.madjar@d95f9e618c3dff4829e7fedba1a71e1499542f3f
e66b5344e8 Added a comment 2021-05-04 21:12:52 +00:00
Lukey
72835347d5 Added a comment 2021-05-04 20:38:01 +00:00
Lukey
3eeb26474a Added a comment 2021-05-04 20:31:45 +00:00
cecile.madjar@d95f9e618c3dff4829e7fedba1a71e1499542f3f
9be367ca96 Added a comment 2021-05-04 20:24:51 +00:00
yarikoptic
4d6e5bc6ad removed 2021-05-04 19:57:53 +00:00
fortran
1a345c9001 Added a comment 2021-05-04 19:25:47 +00:00
fortran
30127348f0 Added a comment 2021-05-04 19:10:35 +00:00
yarikoptic
eac6b763d3 Added a comment 2021-05-04 17:51:09 +00:00
yarikoptic
66e175fec9 Added a comment 2021-05-04 17:50:45 +00:00
Atemu
6b23eb031f Added a comment 2021-05-04 17:37:04 +00:00
Atemu
6c6c5184a4 Added a comment 2021-05-04 17:19:57 +00:00
yarikoptic
1f7577839c Added a comment 2021-05-04 16:53:18 +00:00
Joey Hess
32e6d6880f
comment 2021-05-04 11:13:50 -04:00
Joey Hess
2d36fa7e17
comment 2021-05-04 10:56:27 -04:00
Joey Hess
20fee2ef04
response 2021-05-04 10:31:53 -04:00
Joey Hess
084f0e3e89
comment and todo 2021-05-04 10:14:53 -04:00
Joey Hess
447bffbb6b
remove my comment as someone else already answered it well 2021-05-04 09:52:50 -04:00
Joey Hess
8a61a801d5
response 2021-05-04 09:52:23 -04:00
Lukey
67a6bd51b5 Added a comment 2021-05-04 13:42:34 +00:00
fortran
76a1128c70 2021-05-04 12:56:53 +00:00
Atemu
0df9dc617f Added a comment 2021-05-04 12:46:59 +00:00
Atemu
6299fd688b 2021-05-04 02:43:14 +00:00
Joey Hess
424bef6b6f
smudge: check for known annexed inodes before checking annex.largefiles
smudge: Fix a case where an unlocked annexed file that annex.largefiles
does not match could get its unchanged content checked into git, due to git
running the smudge filter unecessarily.

When the file has the same inodecache as an already annexed file,
we can assume that the user is not intending to change how it's stored in
git.

Note that checkunchangedgitfile already handled the inverse case, where the
file was added to git previously. That goes further and actually sha1
hashes the new file and checks if it's the same hash in the index.

It would be possible to generate a key for the file and see if it's the
same as the old key, however that could be considerably more expensive than
sha1 of a small file is, and it is not necessary for the case I have, at
least, where the file is not modified or touched, and so its inode will
match the cache.
2021-05-03 13:26:32 -04:00
Joey Hess
f2876804ca
close 2021-05-03 12:24:06 -04:00
Joey Hess
1be7be6976
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-03 12:12:07 -04:00
ijc@c69abafeb65fa2e784811fc549e9976a5cf4b903
d9da6d6505 Added a comment 2021-05-03 15:45:14 +00:00
Joey Hess
4588668a12
fromkey unlocked files support
fromkey: Create an unlocked file when used in an adjusted branch where the
file should be unlocked, or when configured by annex.addunlocked.

There is some overlap with code in Annex.Ingest, however it's not quite the
same because ingesting has a temp file with the content, where here the
content, if any, is in the annex object file. So it eg, makes sense for
Annex.Ingest to copy the execute mode of the content file, but it does not make
sense for fromkey to do that.

Also changed in passing to stage the file in git directly, rather than
using git add. One consequence of that is that if the file is gitignored,
it will still get added, rather than the old behavior:

The following paths are ignored by one of your .gitignore files:
ignored
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: "git config advice.addIgnoredFile false"
git-annex: user error (xargs ["-0","git","--git-dir=.git","--work-tree=.","--literal-pathspecs","add","--"] exited 123)

That old behavior was a surprise to me, and so I consider it a bug, and doubt
anyone would have relied on it.

Note that, when on an --hide-missing branch, it is possible to fromkey a key
that is not present (needs --force). The annex link or pointer file still gets
written in this case. It doesn't seem to make any sense not to write it,
because then fromkey would not do anything useful in this case, and this way
the file can be committed and synced to master, and the branch re-adjusted to
hide the new missing file.

This commit was sponsored by Noam Kremen on Patreon.
2021-05-03 11:26:18 -04:00
Joey Hess
58fc6a1cdf
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-03 10:29:44 -04:00
Lukey
c9db4b2a47 2021-05-03 13:01:54 +00:00
Lukey
a9ac3feedd Added a comment 2021-05-03 12:33:32 +00:00
Lukey
217c6b8310 removed 2021-05-03 12:31:03 +00:00
Lukey
046f872ab1 Added a comment 2021-05-03 12:12:18 +00:00
Lukey
eaba5b55c5 Added a comment 2021-05-03 11:04:31 +00:00
Lukey
0e4f453b90 Added a comment 2021-05-03 10:26:35 +00:00
Joey Hess
4bd22a45e4
update 2021-05-02 15:22:22 -04:00
Lukey
dc6dd1e401 Added a comment 2021-05-02 18:46:34 +00:00
Lukey
2d61f01673 Added a comment 2021-05-02 18:36:56 +00:00
Atemu
a7249d0bda 2021-05-02 18:00:41 +00:00
ijc@c69abafeb65fa2e784811fc549e9976a5cf4b903
b2c706634e Added a comment 2021-05-02 17:54:56 +00:00
Lukey
5d6943b893 Added a comment 2021-05-02 08:03:56 +00:00
pat
dc5f1212f2 2021-05-01 06:06:33 +00:00
pat
592f33e9b7 2021-05-01 05:21:56 +00:00
yarikoptic
e5bbbb5d02 initial todo asking for possibility to assign costs per URL 2021-04-30 13:54:30 +00:00
yarikoptic
349c0668be initial todo for perspective copy-key(file) command(s) 2021-04-29 22:41:56 +00:00
Ilya_Shlyakhter
5efce5078a added suggestion: support tree-ish in command args 2021-04-29 16:53:31 +00:00
daniel
b73bfcabba Added a comment: openSUSE Leap 15.2 2021-04-29 14:47:00 +00:00
Kyle Meyer
a5a244b313 doc/git-annex-config: Fix typo in annex.synconlyannex description 2021-04-29 10:01:57 -04:00
Joey Hess
4ff230dd1d
add news item for git-annex 8.20210428 2021-04-28 12:17:08 -04:00
datamanager
1fb59a63a3 Added a comment: I think I am having the same issue 2021-04-28 01:19:46 +00:00
Joey Hess
63af1bae8d
Merge branch 'master' of ssh://git-annex.branchable.com 2021-04-27 18:12:19 -04:00
Joey Hess
4ea03c7b82
close
test case ran for over an hour successfully
2021-04-27 18:11:29 -04:00
Joey Hess
0f73b6d03a
Avoid more than 1 gpg password prompt at the same time
Which could happen occasionally before when concurrency is enabled.
While not much of a problem when it did happen, better to avoid it. Also,
since it seems likely the gpg-agent sometimes fails in such a situation,
this makes it not happen when running a single git-annex command with
concurrency enabled.

This commit was sponsored by Jake Vosloo on Patreon.
2021-04-27 16:36:44 -04:00
Joey Hess
42cacb4099
reproduced, some analysis of a gpg bug
This commit was sponsored by Graham Spencer on Patreon.
2021-04-27 16:31:37 -04:00
pat
46bcb29b3c Added a comment 2021-04-27 18:34:30 +00:00
Joey Hess
a166d2520b
check mincopies is satisfied even when numcopies is known to be satisfied
I had been assuming that numcopies would be a larger or at most equal to
mincopies, so no need to check both. But users get confused and use configs
that don't really make sense, so make sure to handle mincopies being larger
than numcopies.

Also add something to the mincopies man page to discourage this
misconfiguration.

This commit was sponsored by Denis Dzyubenko on Patreon.
2021-04-27 13:37:18 -04:00
Joey Hess
1c05194430
fix pasto 2021-04-27 13:14:24 -04:00
Joey Hess
f58fb5a610
comment 2021-04-27 12:24:36 -04:00
Joey Hess
d3e49b210a
git-annex-config: Allow setting annex.securehashesonly
Which has otherwise been supported since 2019, but was missing from the
list of allowed repo-global configs.

Reordered the list to match the order in the git-annex-config man page, to
make them easy to cross-compare.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2021-04-26 13:50:37 -04:00