Commit graph

11972 commits

Author SHA1 Message Date
Joey Hess
adb09117f1
propigateAdjustedCommits: avoid overwriting diverged original branch
Bug fix: Re-running git-annex adjust or sync when in an adjusted branch
would overwrite the original branch, losing any commits that had been made
to it since the adjusted branch was created.

When git-annex adjust is run in this situation, it will display a warning
about the diverged branches.

When git-annex sync is run in this situation, mergeToAdjustedBranch
will merge the changes from the original branch to the adjusted branch.
So it does not need to display the divergence warning.

Note that for some reason, I'm needing to run sync twice for that to
happen. The first run does not do the merge and the second does. I'm unsure
why and so am not fully done with this bug.

Sponsored-By: the NIH-funded NICEMAN (ReproNim TR&D3) project
2023-07-05 17:09:49 -04:00
Joey Hess
a05bc6a314
Fix breakage when git is configured with safe.bareRepository = explicit
Running git config --list inside .git then fails, so better to only
do that when --git-dir was specified explicitly. Otherwise, when the
repository is not bare, run the command inside the working tree.

Also make init detect when the uuid it just set cannot be read and fail
with an error, in case git changes something that breaks this later.

I still don't actually understand why git-annex add/assist -J2 was
affected but -J1 was not. But I did show that it was skipping writing to
the location log, because the uuid was NoUUID.

Sponsored-by: Graham Spencer on Patreon
2023-07-05 14:43:14 -04:00
Joey Hess
321681cd1b
renamed bug 2023-07-05 14:09:21 -04:00
Joey Hess
9d2a7c4bb6
erk 2023-07-05 13:57:28 -04:00
Joey Hess
fe0e0c0523
also affects add 2023-07-05 13:42:52 -04:00
Joey Hess
3c1d18cb3b
assist: With --jobs, parallelize transferring content to/from remotes
Command.Add.seek starts concurrency with CommandStages. And for
Command.Sync, it needs TransferStages. So, to get both types of concurrency
for the two different parts, it either needs to change the type of
concurrency in between, or just call startConcurrency once for each.

It seems safe enough to call startConcurrency twice, because it does shut
down concurrency (mostly) at the end, and eg the old Annex.workers get
emptied.

Sponsored-by: unqueued on Patreon
2023-07-05 12:47:30 -04:00
Joey Hess
c2c2abe6ca
bug 2023-07-05 12:11:48 -04:00
nobodyinperson
583f87fdca 2023-07-04 18:49:01 +00:00
yarikoptic
d735bad076 initial report on annex sync odd behavior loosing my precious commit 2023-06-30 19:39:46 +00:00
Joey Hess
e1fc9e204e
added git-annex satisfy
This ended up having an interface like sync, rather than like get/copy/drop.
That let it be implemented in terms of sync, which took a lot less code.
Also, it lets it handle many of the edge cases that sync does, such as
getting files that are not visible in a --hide-missing branch, and sending
files to exporttree remotes.

As well as being easier to implement, `git-annex satisfy myremote` makes
sense as it satisfies the preferred content settings of the remote.
`git-annex satisfy somefile` does not form a sentence that makes sense. So
while -C can be a little bit annoying, it still makes sense to have this
syntax.

Note that, while I initially thought this would also satisfy numcopies, it
does not. Arguably it ought to. But, sync does not send files in order to
satisfy numcopies, it only sends files to satisfy preferred content. And
it's important that this transfer the same files as sync does, because
it will probably be used in a workflow where the user sometimes syncs and
sometimes satisfies, and does not expect satisfy to do things that sync
would not do.

(Also opened a new bug that also affects sync et all, not only this command.)

Sponsored-by: Nicholas Golder-Manning on Patreon
2023-06-29 15:34:53 -04:00
pat
63e116768c 2023-06-29 04:45:15 +00:00
Joey Hess
19570263c0
reopen on second thought 2023-06-22 13:48:48 -04:00
Joey Hess
6c84aabe63
document annex.thin risk to locked files pointing at same content 2023-06-21 15:39:15 -04:00
Joey Hess
928b2a4839
create journal directory in withJournalHandle
Fixes a crash by git-annex repair when .git/annex/journal/ does not exist.

Normally the journal directory is created before withJournalHandle gets
run, but git-annex repair can be run in a situation where it does not
exist.
2023-06-21 15:23:59 -04:00
Joey Hess
aa8be9850a
close old bug report 2023-06-21 14:51:17 -04:00
Joey Hess
e59a0b8ce7
apparently fixed 2023-06-21 14:45:36 -04:00
Joey Hess
618ef04f86
closing some old bugs 2023-06-21 14:42:36 -04:00
Joey Hess
65227798b2
close 2023-06-21 14:39:51 -04:00
Joey Hess
55d02d383c
comment 2023-06-21 14:36:54 -04:00
Joey Hess
b4c945a8ae
close 2023-06-21 14:32:01 -04:00
Joey Hess
8f5382daa1
close (for real this time) 2023-06-21 14:27:33 -04:00
Joey Hess
4cd44583b9
moreinfo 2023-06-21 14:23:57 -04:00
Joey Hess
fb6098a523
moreinfo 2023-06-21 14:21:34 -04:00
Joey Hess
9925543039
moreinfo 2023-06-21 14:11:38 -04:00
Joey Hess
02b56f1d9d
comment 2023-06-21 14:10:34 -04:00
Joey Hess
ffd737e2be
update 2023-06-21 13:59:13 -04:00
Joey Hess
6d31f35f42
close 2023-06-21 13:56:10 -04:00
Joey Hess
69c3918d85
tag moreinfo 2023-06-21 13:50:13 -04:00
Joey Hess
217a6abb19
assistant: Fix a crash when a small file is deleted immediately after being created
git add will fail if the file got deleted in the meantime. And since it was
queued, there was a window until the queue flushed where a deletion of the
file would cause a crash.

Instead, reuse Command.Add.addFile, which sha1 hashes the file itself
immediately, and then queues the index update. Ignore exceptions that will
happen if the file got deleted already.

Sponsored-by: k0ld on Patreon
2023-06-19 12:44:56 -04:00
Lukey
4a42e7d11e removed 2023-06-16 20:04:05 +00:00
Lukey
aaa4ba0261 removed 2023-06-16 19:59:28 +00:00
Lukey
3b4254153b removed 2023-06-16 19:59:09 +00:00
Joey Hess
12fa697ca5
Merge branch 'master' of ssh://git-annex.branchable.com 2023-06-15 10:08:16 -04:00
Joey Hess
114a2d7504
Fix display when run with -J1
Commit b6642dde8a broke it by enabling
non-concurrent display mode while leaving concurrency set in the config
and having already started concurrency earlier.

(I don't actually know if that commit was a good idea.)

Sponsored-By: Brett Eisenberg on Patreon
2023-06-15 10:07:54 -04:00
Joey Hess
772d7fa82d
bug 2023-06-15 09:39:56 -04:00
stephenriley
4fdc2113d5 Added a comment 2023-06-15 02:57:35 +00:00
stephenriley
393441a561 Added a comment 2023-06-15 02:57:26 +00:00
jacksondm33@cf6e91518a0fa6a05945d5d4e03ae770f6383615
276c964a9f 2023-06-14 22:06:10 +00:00
Joey Hess
38153ad340
assistant: Add dotfiles to git by default, unless annex.dotfiles is configured
Tthe same as git-annex add does.

Sponsored-by: Luke Shumaker on Patreon
2023-06-12 13:25:04 -04:00
Joey Hess
357291c13c
comment 2023-06-12 13:06:04 -04:00
jgoerzen
56d6b622d7 Added a comment 2023-06-11 02:18:23 +00:00
jacksondm33@cf6e91518a0fa6a05945d5d4e03ae770f6383615
37a9982d86 2023-06-10 16:03:12 +00:00
Joey Hess
c33c226abd
fixed 2023-06-09 16:13:52 -04:00
Joey Hess
a0ab425c95
add ContentIndentifiersCidRemoteKeyIndex
Optimise database to further speed up importing large trees from special
remotes.

See comment for details of why the other index didn't help cid queries.

It would probably be better to manually create an index on only cid, rather
than adding a second uniqueness constraint that is a larger index. But
persitent does not support creating indexes, and an attempt to manually add
it to the migration failed.

Sponsored-by: Nicholas Golder-Manning on Patreon
2023-06-09 15:12:33 -04:00
Joey Hess
532b227086
update exportdb tree in getImportableContents
This avoids bottlenecking on git check-ignore in a particular situation.
Also, there may have been a correctness issue with it not having updated it.
When the exportdb is already up-to-date, this is not expensive. And the
exportdb is updated elsewhere, so usually it is up-to-date.

Sponsored-by: Joshua Antonishen on Patreon
2023-06-08 18:36:24 -04:00
Joey Hess
5934e7d402
Merge branch 'master' of ssh://git-annex.branchable.com 2023-06-08 16:54:05 -04:00
yarikoptic
96a6946a14 stalling report 2023-06-08 15:46:29 +00:00
Joey Hess
7888702955
update 2023-06-07 11:32:53 -04:00
Joey Hess
5bc37c2de2
comment 2023-06-06 15:17:09 -04:00
Joey Hess
d63af3f52e
comment 2023-06-06 14:45:48 -04:00