Commit graph

35808 commits

Author SHA1 Message Date
Ilya_Shlyakhter
8acd01334c bug report where git-annex-copy fails with "thread blocked indefinitely in an STM transaction" 2019-09-02 18:26:28 +00:00
Ilya_Shlyakhter
1a7c06ea9d added suggestion for S3 export remote redirecting to key-value store 2019-09-02 17:41:46 +00:00
Ilya_Shlyakhter
62723b7c45 Added a comment 2019-09-02 15:49:57 +00:00
yarikoptic
c83526fed7 Added a comment: the issue persists in master 2019-09-02 14:17:14 +00:00
yarikoptic
8bc27a5cd7 removed 2019-09-02 14:14:11 +00:00
yarikoptic
3e93585ccc Added a comment: the issue remains (if there were any fixed introduced) 2019-09-02 14:13:07 +00:00
yarikoptic
f951a62210 initial report on problems with unicode directories 2019-09-02 11:52:27 +00:00
TroisSinges
4c1af28371 2019-09-02 07:52:08 +00:00
johnmario.itec19@69a7b742534851b36216e0f951f1a00dbb9067cd
564256614e Added a comment: commenting on git-annex-add 2019-09-02 06:21:27 +00:00
Joey Hess
326d8fe926
Merge branch 'master' of ssh://git-annex.branchable.com 2019-09-01 19:16:37 -04:00
Joey Hess
0af7ebdc2a
info: Display trust level when getting info on a uuid, same as on a remote. 2019-09-01 16:48:46 -04:00
Joey Hess
47a2a9b621
fix build 2019-09-01 16:44:07 -04:00
Joey Hess
f845195354
Added annex.autoupgraderepository configuration
Can be set to false to prevent any automatic repository upgrades.

Also, removed direct mode specific upgrade code in Annex.Init, and made
needsUpgrade always include the name/path of the repo, so if
there's a problem it's clear what repo has the problem.

And, made needsUpgrade catch any exceptions that might occur during the
upgrade, so it can display a more useful error message than just the
exception.
2019-09-01 13:42:26 -04:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
bc2cfe2483 2019-09-01 17:10:32 +00:00
Joey Hess
b421004d75
reorg gitconfig settings and break out several large sections 2019-09-01 12:56:28 -04:00
Joey Hess
9624fe4c37
improve comment 2019-09-01 12:33:19 -04:00
Joey Hess
8865041834
rename page 2019-09-01 12:25:46 -04:00
Joey Hess
63314a9188
link to other install methods as EPEL has an ancient git-annex 2019-09-01 12:22:04 -04:00
Joey Hess
29eb2c2d9a
remove SL5 instructions
Those were from 2013, and the link to the repo no longer works.
2019-09-01 12:17:25 -04:00
marek@33e8ba4fbc201af14a2badcc0656024401f5c916
cdb679818e 2019-09-01 10:57:57 +00:00
yarikoptic
8859e785c3 Added a comment 2019-08-31 13:00:57 +00:00
Joey Hess
8f0af15020
one missed thing for automatic v5 -> v7 upgrades 2019-08-30 17:35:10 -04:00
Joey Hess
31a6086a9a
v7-default branch 2019-08-30 14:14:42 -04:00
Joey Hess
3f0eef4baa
v7 for all repositories
* Default to v7 for new repositories.
* Automatically upgrade v5 repositories to v7.
2019-08-30 14:09:14 -04:00
Joey Hess
1558e03014
Refuse to upgrade direct mode repositories when git is older than 2.22
That git fixed a memory leak that could cause an OOM during the upgrade.

Most git-annex builds have a new enough git already.
OSX git was upgraded with brew.

Linux i386ancient build's git was too old. Upgrading it to a fixed
git didn't work (due to the newer git not working with the old ssh,
https://bugs.chromium.org/p/git/issues/detail?id=7 )

Choices to deal with that were:

* Somehow make direct mode upgrade work with the old git, avoiding its
  OOM problem. One way would be to switch the repo to indirect mode
  first, and so upgrade to a repo with locked files. Not good when
  the filesystem does not support symlinks.
* backport the OOM fix from git 2.22
  (And do what about the version number so git-annex knows it's fixed?)
* backport openssh (and possibly more stuff)
* move the i386ancient build to at least Debian stretch (still backporting git)
  But this will make it no longer work with some of the ancient kernels it
  targets.

Of those, backporting the OOM fix seemed the best approach. Put "oomfix"
in the git version number to indicate it.

I have not automated building the git backport, so here's the patch I
used:

diff -ur orig/git-2.1.4/convert.c git-2.1.4/convert.c
--- orig/git-2.1.4/convert.c	2014-12-18 18:42:18.000000000 +0000
+++ git-2.1.4/convert.c	2019-08-29 20:05:04.371872338 +0100
@@ -404,7 +404,7 @@
 	if (start_async(&async))
 		return 0;	/* error was already reported */

-	if (strbuf_read(&nbuf, async.out, len) < 0) {
+	if (strbuf_read(&nbuf, async.out, 0) < 0) {
 		error("read from external filter %s failed", cmd);
 		ret = 0;
 	}
diff -ur orig/git-2.1.4/GIT-VERSION-GEN git-2.1.4/GIT-VERSION-GEN
--- orig/git-2.1.4/GIT-VERSION-GEN	2014-12-18 18:42:18.000000000 +0000
+++ git-2.1.4/GIT-VERSION-GEN	2019-08-29 20:06:39.132743228 +0100
@@ -1,7 +1,7 @@
 #!/bin/sh

 GVF=GIT-VERSION-FILE
-DEF_VER=v2.1.4
+DEF_VER=v2.1.4.oomfix

 LF='
 '
diff -ur orig/git-2.1.4/configure git-2.1.4/configure
--- orig/git-2.1.4/configure	2014-12-18 18:42:19.000000000 +0000
+++ git-2.1.4/configure	2019-08-29 20:27:45.896380015 +0100
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='git'
 PACKAGE_TARNAME='git'
-PACKAGE_VERSION='2.1.4'
-PACKAGE_STRING='git 2.1.4'
+PACKAGE_VERSION='2.1.4.oomfix'
+PACKAGE_STRING='git 2.1.4.oomfix'
 PACKAGE_BUGREPORT='git@vger.kernel.org'
 PACKAGE_URL=''

diff -ur orig/git-2.1.4/version git-2.1.4/version
--- orig/git-2.1.4/version	2014-12-18 18:42:19.000000000 +0000
+++ git-2.1.4/version	2019-08-29 20:06:17.572545210 +0100
@@ -1 +1 @@
-2.1.4
+2.1.4.oomfix
2019-08-29 15:24:41 -04:00
Joey Hess
4f59ac05b6
info: remove "repository mode"
info: Removed the "repository mode" from its output (including the --json
output) since with the removal of direct mode, there is no repository mode.
2019-08-29 14:12:22 -04:00
Joey Hess
c83c82a9c4
followup 2019-08-29 13:25:22 -04:00
Joey Hess
d6e1f09ed2
init: Catch more exceptions when testing locking. 2019-08-29 12:19:07 -04:00
Joey Hess
dc19fa8b04
comment 2019-08-29 12:06:46 -04:00
Joey Hess
36cf61d752
simplification
Whether or not there's a false index, it can't Restage here.

When there's a false index, restaging would alter it and not the real
index, but it fails anyway because that index is locked.

When there's not a false index, the index is locked, and so restaging
can't alter it.
2019-08-28 15:46:35 -04:00
Joey Hess
4e30b06ffb
remove unused import 2019-08-28 15:38:29 -04:00
Joey Hess
f5a63e5a81
devblog 2019-08-28 15:18:41 -04:00
Joey Hess
6b27fc58d0
v7 bug review and cleanup 2019-08-28 12:20:30 -04:00
Joey Hess
e804f48f82
remove a few more isDirect tests 2019-08-28 11:53:10 -04:00
Joey Hess
a648c22b9b
clarification 2019-08-27 16:18:29 -04:00
Joey Hess
863db16e53
remove unused 2019-08-27 16:13:49 -04:00
Joey Hess
c21c0cd885
update with WSL findings 2019-08-27 15:45:43 -04:00
Joey Hess
7f2bf5a802
followup 2019-08-27 15:41:31 -04:00
Joey Hess
56370c009c
Merge branch 'master' of ssh://git-annex.branchable.com 2019-08-27 14:14:52 -04:00
Joey Hess
45663f6f35
planning 2019-08-27 14:14:16 -04:00
Joey Hess
75d1fbad17
improve comment 2019-08-27 14:08:46 -04:00
Joey Hess
9b1331881c
reorg remaining direct mode code
Only used for upgrading, so put it under there.
2019-08-27 14:05:38 -04:00
Joey Hess
e395ba2cb0
remove unused code 2019-08-27 13:57:17 -04:00
Joey Hess
11e3b2397c
update location log for missing content during direct mode conversion
If a direct mode file is deleted or modified, and there are no other
files containing the content, the content was lost. That's a normal
thing that can happen in direct mode, but not in v7, so the upgrade
code has to notice it in order for the location log to be accurate.
2019-08-27 13:54:21 -04:00
Joey Hess
da6f4d8887
remove direct mode support from Annex.Content
No longer used. The only possible user of it would be code in
Upgrade.V5, so I verified that the parts of Annex.Content it used were
not used to manipulate direct mode files.
2019-08-27 13:14:06 -04:00
Joey Hess
16f646c9a6
don't hide message when ensureInitialized fails 2019-08-27 12:38:47 -04:00
Joey Hess
37b42e72e7
catch exceptions in upgrade
Exceptions due to eg, not being able to write to the repo are not very
useful. There tends to be an error message from git about permission
denied.
2019-08-27 12:33:35 -04:00
Joey Hess
3a0842d9f8
fix bug introduced in direct mode conversion
oops, the code was "if direct && not present" and I removed the direct
which made the wrong path be taken.
2019-08-27 12:29:05 -04:00
Joey Hess
a51a479fb9
fix a couple warnings 2019-08-27 12:24:31 -04:00
Joey Hess
770b8ff926
clearer message when direct mode upgrade fails
When a remote is being upgraded, the message looked as if the local
repo was where the problem was. So include the path of the repo.
2019-08-27 12:23:34 -04:00