git-annex/Command
Joey Hess 0485dd3161
sync: Fix locking problems during merge when annex.pidlock is set
Presumably git merge sometimes needs to verifiy if a worktree file is
modified, and so will then run git-annex filter-process which would try to
take the pid lock. And for whatever reason, git-annex sync already had the
pidlock held. I have not replicated that, but it does make enough sense to
deploy the workaround.

Like I said back in commit 7bdb0cdc0d,

   Arguably, it would be better to have a way to make any process git-annex
   runs have the env var set. But then it would need to take the pid lock
   when running any and all processes, and that would be a problem when
   git-annex runs two processes concurrently. So, I'm left doing it ad-hoc
   in places where git-annex really does run a child process, directly
   or indirectly via a particular git command.

Sponsored-by: KDM on Patreon
2023-12-04 13:40:28 -04:00
..
Add.hs git-annex assist 2023-05-18 14:37:43 -04:00
AddUnused.hs addunused, dropunused: Support --json and --json-error-messages 2023-05-05 14:01:40 -04:00
AddUrl.hs split out Utility.Url.Parse 2023-08-14 12:28:10 -04:00
Adjust.hs
Assist.hs assist: With --jobs, parallelize transferring content to/from remotes 2023-07-05 12:47:30 -04:00
Assistant.hs git-annex assist 2023-05-18 14:37:43 -04:00
Benchmark.hs
CalcKey.hs safe output to terminal for calckey inprogress and lookupkey 2023-04-12 14:03:44 -04:00
CheckPresentKey.hs fix --from overriding annex-ignore 2023-11-30 15:12:07 -04:00
Config.hs config: Added the --show-origin and --for-file options 2023-06-12 16:24:31 -04:00
ConfigList.hs
ConfigRemote.hs configremote: Support --json and --json-error-messages 2023-05-10 14:21:42 -04:00
ContentLocation.hs
Copy.hs copy/move --from-anywhere --to remote 2023-11-30 16:34:30 -04:00
Dead.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Describe.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
DiffDriver.hs fix some build warnings from ghc 9.4.6 2023-09-21 13:38:36 -04:00
Direct.hs
Drop.hs display drop from remote more consistently 2023-06-27 19:01:33 -04:00
DropKey.hs
DropUnused.hs dropunused: Support --jobs 2023-07-21 14:03:34 -04:00
EnableRemote.hs enableremote: Avoid overwriting existing git remote when passed the uuid of a specialremote that was earlier initialized with the same name 2023-09-22 13:29:48 -04:00
EnableTor.hs
ExamineKey.hs fix mojibake reversion in display of utf8 2023-04-12 13:53:30 -04:00
Expire.hs newtype MapLog 2023-11-13 14:37:22 -04:00
Export.hs --explain for preferred/required content matching 2023-07-26 14:50:04 -04:00
FilterBranch.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
FilterProcess.hs
Find.hs avoid quoting spaces in git-annex find output to terminal 2023-04-26 00:18:30 -04:00
FindKeys.hs fix mojibake reversion in display of utf8 2023-04-12 13:53:30 -04:00
FindRef.hs
Fix.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
Forget.hs
FromKey.hs split out Utility.Url.Parse 2023-08-14 12:28:10 -04:00
Fsck.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
FuzzTest.hs
GCryptSetup.hs eliminate s2w8 and w82s 2023-10-26 13:12:57 -04:00
Get.hs fix --from overriding annex-ignore 2023-11-30 15:12:07 -04:00
Group.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
GroupWanted.hs
Help.hs
Import.hs use importChanges optimisation 2023-06-01 13:47:00 -04:00
ImportFeed.hs sqlite datbase for importfeed 2023-10-23 16:46:22 -04:00
InAnnex.hs
Indirect.hs
Info.hs git-annex log --sizesof 2023-11-10 17:26:10 -04:00
Init.hs init: Support --json and --json-error-messages 2023-05-08 14:58:08 -04:00
InitRemote.hs remove unused import 2023-05-11 13:24:34 -04:00
Inprogress.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
List.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Lock.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
Log.hs git-annex log --gnuplot 2023-11-14 14:56:58 -04:00
LookupKey.hs lookupkey: Sped up --batch 2023-10-30 14:59:09 -04:00
Map.hs
MatchExpression.hs --explain for preferred/required content matching 2023-07-26 14:50:04 -04:00
Merge.hs sync: When in an adjusted branch, merge changes from the original branch 2023-07-06 12:42:24 -04:00
MetaData.hs factor out maybeAddJSONField 2023-05-08 16:15:41 -04:00
Migrate.hs migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
MinCopies.hs
Mirror.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Move.hs copy/move --from-anywhere --to remote 2023-11-30 16:34:30 -04:00
Multicast.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
NotifyChanges.hs
NumCopies.hs
OldKeys.hs oldkeys: check associated files by default and add --unchecked 2023-08-23 13:46:41 -04:00
P2P.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
P2PStdIO.hs
PostReceive.hs fix some build warnings from ghc 9.4.6 2023-09-21 13:40:22 -04:00
PreCommit.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
Proxy.hs
Pull.hs git-annex pull and push 2023-05-16 16:51:07 -04:00
Push.hs git-annex pull and push 2023-05-16 16:51:07 -04:00
ReadPresentKey.hs
RecvKey.hs
RegisterUrl.hs
Reinit.hs reinit: Support --json and --json-error-messages 2023-05-08 15:07:40 -04:00
Reinject.hs reinject: Added --guesskeys option 2023-06-26 14:05:31 -04:00
ReKey.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
RemoteDaemon.hs fix build with unix-2.8.0 2023-08-01 18:41:27 -04:00
RenameRemote.hs renameremote: Support --json and --json-error-messages 2023-05-08 16:25:40 -04:00
Repair.hs
Required.hs
ResolveMerge.hs
Restage.hs
RmUrl.hs rmurl: Support --json and --json-error-messages 2023-05-04 11:28:27 -04:00
Satisfy.hs added git-annex satisfy 2023-06-29 15:34:53 -04:00
Schedule.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Semitrust.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
SendKey.hs
SetKey.hs
SetPresentKey.hs rekey, setpresentkey: Support --json and --json-error-messages 2023-05-04 16:03:54 -04:00
Smudge.hs
Status.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Sync.hs sync: Fix locking problems during merge when annex.pidlock is set 2023-12-04 13:40:28 -04:00
Test.hs
TestRemote.hs
TransferKey.hs
TransferKeys.hs
Transferrer.hs
Trust.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Unannex.hs unannex: Support --json and --json-error-messages 2023-05-03 15:56:20 -04:00
Undo.hs migrate, undo: Support --json and --json-error-messages 2023-05-04 16:34:35 -04:00
Ungroup.hs
Uninit.hs fix empty tree import when directory does not exist 2023-08-15 12:57:41 -04:00
Unlock.hs push RawFilePath down into Annex.ReplaceFile 2023-10-26 13:36:49 -04:00
UnregisterUrl.hs
Untrust.hs expire, trust et al, dead, describe: Support --json and --json-error-messages 2023-05-05 15:33:30 -04:00
Unused.hs remove unused imports 2023-05-16 16:33:02 -04:00
Upgrade.hs upgrade: Support --json and --json-error-messages and --json-progress 2023-05-10 12:54:48 -04:00
VAdd.hs
VCycle.hs
Version.hs version: Avoid error message when entire output is not read 2023-05-19 15:00:57 -04:00
VFilter.hs
Vicfg.hs
View.hs
VPop.hs
Wanted.hs filter out control characters and quote filenames 2023-04-11 14:27:22 -04:00
Watch.hs git-annex assist 2023-05-18 14:37:43 -04:00
WebApp.hs
Whereis.hs json object for FileNotFound 2023-04-25 19:26:20 -04:00
WhereUsed.hs whereused: Fix display of branch:file when run in a subdirectory 2023-04-12 15:18:04 -04:00