Commit graph

28661 commits

Author SHA1 Message Date
pot
48b97cb3f0 Added a comment: 780 source files.... 2016-10-06 20:05:41 +00:00
ddenis
6cdcda6e32 Added a comment 2016-10-06 16:59:03 +00:00
jk@3f2b4ce16bbac41470815333505aa47b91b7a9a6
4338251817 Added a comment 2016-10-06 10:42:53 +00:00
Joey Hess
903a7e212c
devblog 2016-10-05 17:10:43 -04:00
Joey Hess
a6fa700ecd
response 2016-10-05 17:02:31 -04:00
Joey Hess
74db77886f
comment 2016-10-05 16:57:10 -04:00
Joey Hess
933bc5c917
Support using v3 repositories without upgrading them to v5.
An easy change now that supportedVersions is a list. Since v3 and v5 are
identical other than version number, just add v3 to the list.

This commit was sponsored by andrea rota.
2016-10-05 16:53:09 -04:00
Joey Hess
f867fc157f
When auto-upgrading a v3 remote, avoid upgrading to version 6, instead keep it at version 5.
Fixes a bug introduced with v6 mode that I didn't notice until now.
Probably not many v3 repos left out there, and upgrading them to v6 mode
is not disastrous, only a little premature.

This commit was sponsored by Riku Voipio
2016-10-05 16:23:09 -04:00
Joey Hess
f23446b60e
verified fix on OSX 2016-10-05 16:08:49 -04:00
Joey Hess
658b6ce835
comment 2016-10-05 16:02:29 -04:00
Joey Hess
5416fd21a1
moreinfo 2016-10-05 15:51:42 -04:00
Joey Hess
3a019c5050
response 2016-10-05 15:50:50 -04:00
Joey Hess
34530e59d9
Avoid using a lot of memory when large objects are present in the git repository
.. and have to be checked to see if they are a pointed to an annexed file.

Cases where such memory use could occur included, but were not limited to:
  - git commit -a of a large unlocked file (in v5 mode)
  - git-annex adjust when a large file was checked into git directly
Generally, any use of catKey was a potential problem.

Fix by using git cat-file --batch-check to check size before catting.
This adds another git batch process, which is included in the CatFileHandle
for simplicity.

There could be performance impact, anywhere catKey is used. Particularly
likely to affect adjusted branch generation speed, and operations on
unlocked files in v6 mode. Hopefully since the --batch-check and
--batch read the same data, disk buffering will avoid most overhead.
Leaving only the overhead of talking to the process over the pipe and
whatever computation --batch-check needs to do.

This commit was sponsored by Bruno BEAUFILS on Patreon.
2016-10-05 15:24:13 -04:00
Joey Hess
672e53bded
add missing case for unknown size with normal output
This was lost in previous change, causing a crash in that case.
2016-10-05 15:10:24 -04:00
Joey Hess
a747373b40
comment 2016-10-05 13:30:46 -04:00
Joey Hess
90eec318bf
moreinfo 2016-10-05 13:01:35 -04:00
Joey Hess
43c45ac5fc
comments 2016-10-05 11:33:08 -04:00
Joey Hess
4895bc6eed
Merge branch 'master' of ssh://git-annex.branchable.com 2016-10-05 11:29:51 -04:00
Joey Hess
5485a8fe62
remove localedir file, fix build 2016-10-05 11:29:14 -04:00
evilmoo@0c9697a666c2853b3b3229b6646d3a4e849f7ec8
301b852fd7 Added a comment: bittorrent 2016-10-05 03:53:05 +00:00
Adam
686907ea2f Added a comment 2016-10-04 21:24:50 +00:00
Joey Hess
aacd9b190d
Linux standalone: Include locale files in the bundle, and generate locale definition files for the locales in use when starting runshell.
Currently only done for utf-8 locales because the charset can easily be
told for those. Other locales don't include the charset in their name.

The locale definition is generated under git-annex.linux/locales.
So, this only works if the user can write there.

If locale generation fails for any reason, it's silently skipped.

The git-annex-standalone.deb installs the bundle under /usr, so this locale
generation won't work for non-root users.
2016-10-04 16:37:43 -04:00
Joey Hess
a93e38e8fc
add LOCPATH to GIT_ANNEX_STANDLONE_ENV 2016-10-04 15:32:58 -04:00
Joey Hess
c079811226
Linux standalone: Add back the LOCPATH=/dev/null hack to avoid the system locale-archive being read.
Version mismatches between the system locale-archive and the glibc in the
bundle have been observed to cause git crashes.

Unfortunately, this causes locales to not be used in the linux standalone
bundle, as was the case until version 6.20160419.

glibc hardcodes the path to /usr/lib/locale/locale-archive and does not
let an environment variable cause a different locale-archive file to be used.

The only other option to include locales in the bundle would be to include
exploded locale definition directories in the bundle for a number of
locales, generated by localedef. But these take at least 300 kb per locale,
and there are a great many locales; it would be hundreds of megabytes to
include them all.

(Hmm, we could include localdef in the bundle, and check LANG in runshell
and compile the locale directories on the fly. This would need
/usr/share/i18n/ and /usr/lib/locale-archive to be included in the bundle.
It's.. doable.)

I know this is going to once again cause users of the bundle to complain
that eg, ls doesn't show their unicode filenames right. Better than strange
crashes though.
2016-10-04 12:53:09 -04:00
Joey Hess
9c35905bbe
comment 2016-10-04 11:30:41 -04:00
Joey Hess
4d491f514d
response 2016-10-04 11:16:39 -04:00
2a01:cb04:422:dd00:75bc:9129:cb49:31be
39a7045a81 poll vote (OpenStack SWIFT) 2016-10-04 11:57:43 +00:00
Adam
9ea55def4c Added a comment: Question 2016-10-04 05:27:31 +00:00
https://launchpad.net/~stephane-gourichon-lpad
ade6ab4037 Added a comment: Sketch of implementation, request for comment 2016-10-01 17:25:47 +00:00
https://launchpad.net/~stephane-gourichon-lpad
745e58167e How to deal with files that change status from "precious, please keep n copies" to "junk, please delete it from everywhere you find it, now and forever". 2016-10-01 13:36:52 +00:00
pot
2629850fdf 2016-10-01 11:41:01 +00:00
Joey Hess
c075b58d40
Merge branch 'master' of ssh://git-annex.branchable.com 2016-09-30 19:52:14 -04:00
Joey Hess
166d70db77
convert TMVars that are never left empty into TVars
This is probably more efficient, and it avoids mistakenly leaving them
empty.
2016-09-30 19:51:16 -04:00
ddenis
455de2fb1b 2016-09-30 22:06:49 +00:00
pot
5a076dcf04 Added a comment: inodes.... 2016-09-30 22:00:31 +00:00
ztl8702
dac65af9a9 Added a comment: Bash on Windows 2016-09-30 19:14:34 +00:00
Joey Hess
b025500352
devblog 2016-09-30 15:02:27 -04:00
Joey Hess
37c8c6df99
include external special remote process number in debug
Not actual pid, because System.Process does not expose that.
2016-09-30 14:47:36 -04:00
Joey Hess
5bf4623a1d
allow multiple concurrent external special remote processes
Multiple external special remote processes for the same remote will be
started as needed when using -J.

This should not beak any existing external special remotes, because running
multiple git-annex commands at the same time could already start multiple
processes for the same external special remotes.
2016-09-30 14:29:02 -04:00
Joey Hess
b69dea0ac3
move externalConfig into ExternalState
Groundwork to having multiple processes running at once for an external
special remote; each needs its own externalConfig.
2016-09-30 13:36:50 -04:00
Joey Hess
63e21a607f
remove unnecessary mvar 2016-09-30 13:17:49 -04:00
Joey Hess
7373866968
devblog 2016-09-29 17:17:14 -04:00
Joey Hess
28c6209f55
Make --json-progress output be shown even when the size of a object is not known. 2016-09-29 16:59:48 -04:00
Joey Hess
7cd6a6a39c
Merge branch 'master' of ssh://git-annex.branchable.com 2016-09-29 16:58:09 -04:00
Joey Hess
5ed050c152
summary of progress 2016-09-29 16:52:35 -04:00
https://me.yahoo.com/a/EbvxpTI_xP9Aod7Mg4cwGhgjrCrdM5s-#7c0f4
69e41f3943 Added a comment 2016-09-29 20:45:48 +00:00
Joey Hess
161d891508
Add "total-size" field to --json-progress output. 2016-09-29 16:29:54 -04:00
Joey Hess
7cae6c746c
Optimised git-annex branch log file timestamp parsing. 10% speedup
This sped up git annex find --not --in web from 6.64s to 5.69s.
The optimised parser is probably more like 50% faster than the general one
it replaced.
2016-09-29 14:04:53 -04:00
Joey Hess
3e7218b220
Merge branch 'master' of ssh://git-annex.branchable.com 2016-09-29 13:37:11 -04:00
Joey Hess
1cd02762bf
Optimisations to git-annex branch query and setting, avoiding repeated copies of the environment.
Speeds up commands like  "git-annex find --in remote" by over 50%.

Profiling showed that adjustGitEnv was 21% of the time and 37% of the
allocations of that command. It copied the environment each time with
getEnvironment.

The only repeated use of adjustGitEnv is in withIndexFile, which tends to
be run at least once per file. So, it was optimised by keeping a cache of
the environment, which can be reused.

There could be other better ways to optimise this. Maybe get the while
environment once at startup. But, then it would have to be serialized back
out each time running a child process, so I doubt that would be a net win.

It might be better to cache a version of the environment that is
pre-modified to use .git-annex/index. But, profiling doesn't show that
modifying the enviroment is taking any significant time.
2016-09-29 13:36:48 -04:00