Commit graph

28640 commits

Author SHA1 Message Date
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
Joey Hess
35446d3c3a
followup 2016-09-29 11:33:42 -04:00
yomguy
f22edfebab 2016-09-29 14:29:24 +00:00
yomguy
a962f341bd 2016-09-29 14:26:12 +00:00
yomguy
942095d7ca 2016-09-29 14:24:49 +00:00
git-annex@5b470e1f6ed6d30997d729f0a8b1c841dea886f1
2f91b3677c Added a comment: Using gitolite 3.6.6 mirror not working with annex 2016-09-28 18:12:56 +00:00
Joey Hess
3416cd8148
remove incorrect bit about multiple concurrent transfers, and improve description of protocol flow 2016-09-26 19:19:32 -04:00
Joey Hess
410b1c2b1f
todo 2016-09-26 19:06:56 -04:00
Joey Hess
6bdb6d4570
devblog 2016-09-26 16:53:42 -04:00
Joey Hess
76e5d8bf8a
comment 2016-09-26 16:53:27 -04:00
Joey Hess
f3b84f4603
Merge branch 'master' of ssh://git-annex.branchable.com 2016-09-26 16:49:21 -04:00
Joey Hess
8794dcf27b
Optimisations to time it takes git-annex to walk working tree and find files to work on. Sped up by around 18%.
key2file and file2key were top cost centers according to profiling.
The repeated use of replace was not efficient. This new approach is quite a
lot more efficient.

This commit was sponsored by Denis Dzyubenko on Patreon.
2016-09-26 16:48:57 -04:00
Joey Hess
a8734698eb
more profiling 2016-09-26 16:39:18 -04:00
Joey Hess
a197cf743d
profiling 2016-09-26 15:49:42 -04:00
sven.rieke@2bfe1de15de1bb402f962e41f9e5bfc1be1cf8d1
a1c7b514e7 2016-09-25 15:01:28 +00:00
sven.rieke@2bfe1de15de1bb402f962e41f9e5bfc1be1cf8d1
d8a714a881 2016-09-25 15:00:18 +00:00
madduck
40f41c3c4d 2016-09-25 13:25:03 +00:00
PaulK
ad5c60414e Added a comment 2016-09-25 03:08:41 +00:00
erics
348be33161 2016-09-25 02:28:19 +00:00
erics
a11c700aea Added a comment 2016-09-25 00:33:57 +00:00
PaulK
8b2d5e194f Added a comment 2016-09-24 04:16:52 +00:00
https://me.yahoo.com/a/EbvxpTI_xP9Aod7Mg4cwGhgjrCrdM5s-#7c0f4
9c651b9608 Added a comment: +may be "byte-target" field? ;) 2016-09-24 02:43:22 +00:00