git-annex.git
5 years agouse MatchingKey when a Key is known
Joey Hess [Mon, 9 Nov 2020 19:12:08 +0000 (15:12 -0400)]
use MatchingKey when a Key is known

This fixes a bug where a file that was not preferred content could be
transferred to a remote. This happened when the file got deleted after
the sync started running.

The only time checkMatcher is run without a Key is in calls to
checkFileMatcher, which are only done by add, addurl, import, and
smudge --clean. Those won't be affected by this kind of race. Anything
else that might be precaching and have a similar race as sync will also
be fixed, but I don't know if it actually affected anything other than
sync.

As well as fixing a bug, this also probably makes sync and --auto faster
by avoiding the redundant key lookup.

This commit was sponsored by Graham Spencer on Patreon.

5 years agoreproduced
Joey Hess [Mon, 9 Nov 2020 18:35:51 +0000 (14:35 -0400)]
reproduced

5 years agoclose
Joey Hess [Mon, 9 Nov 2020 17:50:16 +0000 (13:50 -0400)]
close

5 years agoupdate link
Joey Hess [Mon, 9 Nov 2020 17:46:17 +0000 (13:46 -0400)]
update link

5 years agocomment
Joey Hess [Mon, 9 Nov 2020 16:38:44 +0000 (12:38 -0400)]
comment

5 years agoupdate after RawFilePath transition
Joey Hess [Mon, 9 Nov 2020 16:06:53 +0000 (12:06 -0400)]
update after RawFilePath transition

5 years agoAdded a comment
jochen.keil@38b1f86ab65128dab3e62e726403ceee4f5141bf [Mon, 9 Nov 2020 13:15:41 +0000 (13:15 +0000)]
Added a comment

5 years agoMake change log entry readable on the wiki (previous copy-paste from (debian?) change...
https://christian.amsuess.com/chrysn [Sun, 8 Nov 2020 18:14:48 +0000 (18:14 +0000)]
Make change log entry readable on the wiki (previous copy-paste from (debian?) changelog garbled itemization)

5 years agoAdded a comment
Lukey [Sun, 8 Nov 2020 08:25:36 +0000 (08:25 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Sat, 7 Nov 2020 23:59:52 +0000 (23:59 +0000)]
Added a comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 7 Nov 2020 18:10:19 +0000 (14:10 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoenable extensions needed by new version of persistent
Joey Hess [Sat, 7 Nov 2020 18:09:17 +0000 (14:09 -0400)]
enable extensions needed by new version of persistent

Needed in order to use mkPersist in
persistent version 2.11.0.1
persistent-template version 2.9.1.0

5 years agobug
Joey Hess [Sat, 7 Nov 2020 14:58:43 +0000 (10:58 -0400)]
bug

5 years agoFTBFS
yarikoptic [Sat, 7 Nov 2020 00:45:06 +0000 (00:45 +0000)]
FTBFS

5 years agoavoid providing filename with NUL to quickcheck properties
Joey Hess [Fri, 6 Nov 2020 19:13:14 +0000 (15:13 -0400)]
avoid providing filename with NUL to quickcheck properties

instance Arbitrary [Char] allows that, and it's not a legal part of a
filename so can break processing them.

Noticed when prop_view_roundtrips failed.

The instance Arbitrary AssociatedFile avoids this problem.

This commit was sponsored by Mark Reidenbach on Patreon.

5 years agofinished this stage of the RawFilePath conversion
Joey Hess [Fri, 6 Nov 2020 18:10:58 +0000 (14:10 -0400)]
finished this stage of the RawFilePath conversion

This commit was sponsored by Denis Dzyubenko on Patreon.

5 years agoAdded a comment
jcjgraf [Fri, 6 Nov 2020 14:57:52 +0000 (14:57 +0000)]
Added a comment

5 years agoAdded a comment
Lukey [Fri, 6 Nov 2020 14:14:18 +0000 (14:14 +0000)]
Added a comment

5 years agomore RawFilePath conversion
Joey Hess [Thu, 5 Nov 2020 22:45:37 +0000 (18:45 -0400)]
more RawFilePath conversion

Converted file mode setting to it, and follow-on changes.

Compiles up through 369/646.

This commit was sponsored by Ethan Aubin.

5 years ago(no commit message)
Lukey [Thu, 5 Nov 2020 18:41:25 +0000 (18:41 +0000)]

5 years agoAdded a comment
interfect@b151490178830f44348aa57b77ad58c7d18e8fe7 [Thu, 5 Nov 2020 17:55:31 +0000 (17:55 +0000)]
Added a comment

5 years agoconvert getFileSize to RawFilePath
Joey Hess [Thu, 5 Nov 2020 15:26:34 +0000 (11:26 -0400)]
convert getFileSize to RawFilePath

Lots of nice wins from this in avoiding unncessary work, and I think
nothing got slower.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.

5 years ago(no commit message)
jcjgraf [Thu, 5 Nov 2020 13:31:04 +0000 (13:31 +0000)]

5 years agoAdded a comment: Re: Moving S3 special remote
a@92214b2eae95307f511e06845d2cb5b5931b00a3 [Thu, 5 Nov 2020 03:44:52 +0000 (03:44 +0000)]
Added a comment: Re: Moving S3 special remote

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 4 Nov 2020 18:40:34 +0000 (14:40 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoMerge branch 'master' into rawfilepath
Joey Hess [Wed, 4 Nov 2020 18:21:44 +0000 (14:21 -0400)]
Merge branch 'master' into rawfilepath

5 years agofinished this stage of the RawFilePath conversion
Joey Hess [Wed, 4 Nov 2020 18:20:37 +0000 (14:20 -0400)]
finished this stage of the RawFilePath conversion

Finally compiles again, and test suite passes.

This commit was sponsored by Brock Spratlen on Patreon.

5 years agomore RawFilePath conversion
Joey Hess [Tue, 3 Nov 2020 22:34:27 +0000 (18:34 -0400)]
more RawFilePath conversion

580/645

This commit was sponsored by Jack Hill on Patreon.

5 years ago(no commit message)
a@92214b2eae95307f511e06845d2cb5b5931b00a3 [Tue, 3 Nov 2020 16:38:19 +0000 (16:38 +0000)]

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 3 Nov 2020 15:53:52 +0000 (11:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoadd news item for git-annex 8.20201103
Joey Hess [Tue, 3 Nov 2020 15:53:33 +0000 (11:53 -0400)]
add news item for git-annex 8.20201103

5 years agoreleasing package git-annex version 8.20201103
Joey Hess [Tue, 3 Nov 2020 15:53:11 +0000 (11:53 -0400)]
releasing package git-annex version 8.20201103

5 years agoclean build warning
Joey Hess [Tue, 3 Nov 2020 15:36:48 +0000 (11:36 -0400)]
clean build warning

5 years agomore RawFilePath conversion
Joey Hess [Tue, 3 Nov 2020 14:11:04 +0000 (10:11 -0400)]
more RawFilePath conversion

535/645

This commit was sponsored by Brett Eisenberg on Patreon.

5 years agocomment
Joey Hess [Tue, 3 Nov 2020 02:34:04 +0000 (22:34 -0400)]
comment

5 years agoAdded a comment
yarikoptic [Tue, 3 Nov 2020 02:12:17 +0000 (02:12 +0000)]
Added a comment

5 years agoinitial formal report on drop
yarikoptic [Tue, 3 Nov 2020 02:02:41 +0000 (02:02 +0000)]
initial formal report on drop

5 years agoAdded a comment
yarikoptic [Mon, 2 Nov 2020 21:04:35 +0000 (21:04 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Mon, 2 Nov 2020 20:37:47 +0000 (20:37 +0000)]
Added a comment

5 years agomore RawFilePath conversion
Joey Hess [Mon, 2 Nov 2020 20:31:28 +0000 (16:31 -0400)]
more RawFilePath conversion

This commit was sponsored by Luke Shumaker on Patreon.

5 years agoremove unused imports
Joey Hess [Mon, 2 Nov 2020 19:36:11 +0000 (15:36 -0400)]
remove unused imports

5 years agorename 2 bug report titles that are too long due to pasting enormous error messages...
Joey Hess [Mon, 2 Nov 2020 19:25:10 +0000 (15:25 -0400)]
rename 2 bug report titles that are too long due to pasting enormous error messages into title entry

So the repo can be cloned on windows.

5 years agoadd maxlength=50 to ikiwiki template used for page title entry
Joey Hess [Mon, 2 Nov 2020 19:21:24 +0000 (15:21 -0400)]
add maxlength=50 to ikiwiki template used for page title entry

5 years agotest case for view
Joey Hess [Mon, 2 Nov 2020 19:06:55 +0000 (15:06 -0400)]
test case for view

For reversion fixed in 9252f86b2e9a3ee218867e1ef4572766eb44418c

This commit was sponsored by Ethan Aubin

5 years agocomment
Joey Hess [Mon, 2 Nov 2020 19:01:17 +0000 (15:01 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 2 Nov 2020 18:47:57 +0000 (14:47 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoview: Fix a reversion in 8.20200522 that broke entering or changing views.
Joey Hess [Mon, 2 Nov 2020 18:47:08 +0000 (14:47 -0400)]
view: Fix a reversion in 8.20200522 that broke entering or changing views.

Commit 2dc7b5186a586acb768744242083ad48d658a538 messed up indentation.

This commit was sponsored by Noam Kremen on Patreon.

5 years agoMerge branch 'master' into rawfilepath
Joey Hess [Mon, 2 Nov 2020 18:35:46 +0000 (14:35 -0400)]
Merge branch 'master' into rawfilepath

5 years agoa plea for more --debug output
yarikoptic [Mon, 2 Nov 2020 18:04:20 +0000 (18:04 +0000)]
a plea for more --debug output

5 years agocomment
Joey Hess [Mon, 2 Nov 2020 17:50:49 +0000 (13:50 -0400)]
comment

5 years agoalready fixed
Joey Hess [Mon, 2 Nov 2020 17:25:07 +0000 (13:25 -0400)]
already fixed

5 years agonot a bug
Joey Hess [Mon, 2 Nov 2020 17:24:23 +0000 (13:24 -0400)]
not a bug

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 2 Nov 2020 17:24:02 +0000 (13:24 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agoImprove shutdown process for external special remotes and external backends
Joey Hess [Mon, 2 Nov 2020 16:35:07 +0000 (12:35 -0400)]
Improve shutdown process for external special remotes and external backends

Make sure to relay any remaining stderr from the process after it has
shut down, rather than closing stderr just before shutdown. This avoids
a situation where the process is still running and tries to write to
stderr, getting a SIGPIPE. And, it ensures that no stderr output is
lost.

This may fix a problem encountered by datalad on windows, where it hangs
during the external special remote shutdown.

Before commit a49d300545b4b7e7bd1e2719e3042d14f6e32e9c, it closed stdin
and stdout, but left stderr open, and never killed the stderr waiter
thread, which presumably exited on its own. For async exception
safety, do need to at make sure that thread gets waited on, as that
commit does, but it introduced this problem.

Note that, the process's stdout is closed before waiting on it. It's too
late for anything it writes to stdout to be processed, and since we're
not going to consume any such writes, this avoids the process getting
blocked writing to stdout due to us not reading what it's buffered. This
does mean that if the process writes to stdout too late, it will get a
SIGPIPE. (This was already the case before the above-mentioned commit.)
In practice, I think only the protocol's ERROR is allowed to be
sent at a point where this could happen.

5 years agoupdated URL of Homebrew formula for git-annex.
Ilya_Shlyakhter [Mon, 2 Nov 2020 15:56:45 +0000 (15:56 +0000)]
updated URL of Homebrew formula for git-annex.

5 years agoAdded a comment: build a CI/CD chain for git-annex
nix.zahlen@1211ac6c964ba2d68b70655f747bef1383032e77 [Sat, 31 Oct 2020 17:47:15 +0000 (17:47 +0000)]
Added a comment: build a CI/CD chain for git-annex

5 years agoAdded a comment: where and how to submit Windows autobuild related issues?
nix.zahlen@1211ac6c964ba2d68b70655f747bef1383032e77 [Sat, 31 Oct 2020 17:44:18 +0000 (17:44 +0000)]
Added a comment: where and how to submit Windows autobuild related issues?

5 years agomore RawFilePath conversion
Joey Hess [Fri, 30 Oct 2020 19:55:59 +0000 (15:55 -0400)]
more RawFilePath conversion

451/645

5 years agomore RawFilePath conversion
Joey Hess [Fri, 30 Oct 2020 17:31:35 +0000 (13:31 -0400)]
more RawFilePath conversion

412/645

5 years agomore RawFilePath conversion
Joey Hess [Fri, 30 Oct 2020 17:07:41 +0000 (13:07 -0400)]
more RawFilePath conversion

removeFile changed to removeLink, because AFAICS it should be fine to
remove non-file things here. In particular, it's fine to remove a
symlink, since we're about to write a symlink. (removeLink does not
remove directories, so file, symlink, and unix socket are the only
possibilities.)

5 years agomore RawFilePath conversion
Joey Hess [Fri, 30 Oct 2020 17:00:12 +0000 (13:00 -0400)]
more RawFilePath conversion

Better to use Git.repoPath to get a filepath, Git.repoLocation does not
always return one.

This commit was sponsored by Ethan Aubin.

5 years agomore RawFilePath conversion
Joey Hess [Fri, 30 Oct 2020 14:29:42 +0000 (10:29 -0400)]
more RawFilePath conversion

At this point I'll be done by new year's.

This commit was sponsored by Ethan Aubin.

5 years agogit-annex-view fails because of "another git process running"
gschnabel [Fri, 30 Oct 2020 08:13:25 +0000 (08:13 +0000)]
git-annex-view fails because of "another git process running"

5 years agogit-annex-view fails
gschnabel [Fri, 30 Oct 2020 08:08:18 +0000 (08:08 +0000)]
git-annex-view fails

5 years agomore RawFilePath conversion
Joey Hess [Thu, 29 Oct 2020 18:20:57 +0000 (14:20 -0400)]
more RawFilePath conversion

at 377/645

This commit was sponsored by Svenne Krap on Patreon.

5 years agomore RawFilePath conversion
Joey Hess [Thu, 29 Oct 2020 16:02:46 +0000 (12:02 -0400)]
more RawFilePath conversion

At 318/645 after 4k lines of changes

This commit was sponsored by Jake Vosloo on Patreon.

5 years agofix name of lock file
Joey Hess [Thu, 29 Oct 2020 14:53:01 +0000 (10:53 -0400)]
fix name of lock file

It was the stringification of a UUID, so "UUID \"foo\""

5 years agomore RawFilePath conversion
Joey Hess [Thu, 29 Oct 2020 14:33:12 +0000 (10:33 -0400)]
more RawFilePath conversion

nukeFile replaced with removeWhenExistsWith removeLink, which allows
using RawFilePath. Utility.Directory cannot use RawFilePath since setup
does not depend on posix.

This commit was sponsored by Graham Spencer on Patreon.

5 years ago(no commit message)
gl@cfc0fd7a693bb7c3a600eb73f462bd504c51cedf [Thu, 29 Oct 2020 11:53:52 +0000 (11:53 +0000)]

5 years ago(no commit message)
lyderic [Thu, 29 Oct 2020 10:14:28 +0000 (10:14 +0000)]

5 years agoAdded a comment: This bug has alreay been raised
lyderic [Thu, 29 Oct 2020 10:13:50 +0000 (10:13 +0000)]
Added a comment: This bug has alreay been raised

5 years ago(no commit message)
lyderic [Thu, 29 Oct 2020 10:08:13 +0000 (10:08 +0000)]

5 years agomore RawFilePath conversion
Joey Hess [Wed, 28 Oct 2020 21:25:59 +0000 (17:25 -0400)]
more RawFilePath conversion

Added a RawFilePath createDirectory and kept making stuff build.

Up to 296/645

This commit was sponsored by Mark Reidenbach on Patreon.

5 years agomore RawFilePath conversion
Joey Hess [Wed, 28 Oct 2020 20:24:14 +0000 (16:24 -0400)]
more RawFilePath conversion

Notable wins in Annex.Locations which was sometimes doing 6 conversions
in a single function call.

This commit was sponsored by Denis Dzyubenko on Patreon.

5 years agoRawFilePath version of getCurrentDirectory
Joey Hess [Wed, 28 Oct 2020 20:03:45 +0000 (16:03 -0400)]
RawFilePath version of getCurrentDirectory

This commit was sponsored by Jochen Bartl on Patreon

5 years agomore RawFilePath conversion
Joey Hess [Wed, 28 Oct 2020 19:40:50 +0000 (15:40 -0400)]
more RawFilePath conversion

Most of Git/ builds now.

Notable win is toTopFilePath no longer double converts

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.

5 years agogot configure working after Utility.Path ByteString conversion
Joey Hess [Wed, 28 Oct 2020 18:53:25 +0000 (14:53 -0400)]
got configure working after Utility.Path ByteString conversion

Had to split out some modules because getWorkingDirectory needs unix,
which is not a build-dep of configure.

This commit was sponsored by Brock Spratlen on Patreon.

5 years agoconvert to RawByteString
Joey Hess [Wed, 28 Oct 2020 18:18:09 +0000 (14:18 -0400)]
convert to RawByteString

This will break a lot of stuff that uses it, but once fixed should lead
to better performance.

Mostly mechanical.
Changes of note:

* upFrom now uses isPathSeparator, which is better on Windows where
  there is not just one
* splitShortExtensions used to take the length of a string,
  which would count wide unicode characters as a single character.
  Changing to B.length changes that. Note that, git-annex's
  annexMaxExtensionLength already changed to the length in bytes
  before this change. This function is only used in generating views,
  and the small behavior change should not be a problem.
* relHome still uses FilePath because it didn't seem worth changing(?)

This commit was sponsored by Jack Hill on Patreon.

5 years agonote windows versions the builds will work with
Joey Hess [Wed, 28 Oct 2020 17:21:47 +0000 (13:21 -0400)]
note windows versions the builds will work with

5 years agoAdded a comment
yarikoptic [Tue, 27 Oct 2020 19:44:36 +0000 (19:44 +0000)]
Added a comment

5 years agoAdded a comment
yarikoptic [Tue, 27 Oct 2020 19:30:24 +0000 (19:30 +0000)]
Added a comment

5 years agoreport on possibly PATH related issue on windows
yarikoptic [Tue, 27 Oct 2020 19:15:38 +0000 (19:15 +0000)]
report on possibly PATH related issue on windows

5 years agocomment
Joey Hess [Tue, 27 Oct 2020 18:33:30 +0000 (14:33 -0400)]
comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 27 Oct 2020 18:22:21 +0000 (14:22 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agotest if magic library works
Joey Hess [Tue, 27 Oct 2020 17:39:58 +0000 (13:39 -0400)]
test if magic library works

(When built with it.)

I saw John Thorvald Wodder II doing this in
https://github.com/datalad/datalad-extensions/blob/master/.github/workflows/build-git-annex-windows.yaml
and it seemed like a good idea.

John used an empty file for the binary file, but I think it's
slightly suprising file picks that mime type for it, so opted to instead
use something less ambiguous.

5 years agoAdded a comment: Documentation of demand
michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec [Tue, 27 Oct 2020 14:59:47 +0000 (14:59 +0000)]
Added a comment: Documentation of demand

5 years agoAdded a comment
Lukey [Tue, 27 Oct 2020 09:06:38 +0000 (09:06 +0000)]
Added a comment

5 years ago(no commit message)
interfect@b151490178830f44348aa57b77ad58c7d18e8fe7 [Mon, 26 Oct 2020 20:55:16 +0000 (20:55 +0000)]

5 years agoview: Avoid using ':' from metadata when generating a view
Joey Hess [Mon, 26 Oct 2020 19:37:55 +0000 (15:37 -0400)]
view: Avoid using ':' from metadata when generating a view

Because it's a special character on Windows ("c:").

Use same technique already used for '/' and '\'.

I didn't record how I generated their encoded forms before, so am sure
there was a better way, but the way I did it now is to look at

ghci> encodeFilePath "∕"
"\226\136\149"

And then the difference from that to "\56546\56456\56469"
is adding 56320 to each, to get up to the escaped code plane.

See comment for why I think handling ':' is ok, but that other illegal
windows filenames won't. Note that, this should be enough to make the
test suite always work. Other windows illegal filenames will fail at
checkout time when it tries to put the illegal filename on the
filesystem.

5 years agoAdded a comment
yarikoptic [Mon, 26 Oct 2020 17:57:12 +0000 (17:57 +0000)]
Added a comment

5 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 26 Oct 2020 17:48:00 +0000 (13:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

5 years agofix build and add build example
Joey Hess [Mon, 26 Oct 2020 17:45:38 +0000 (13:45 -0400)]
fix build and add build example

5 years agochangelog
Joey Hess [Mon, 26 Oct 2020 17:43:40 +0000 (13:43 -0400)]
changelog

5 years agomake windows installer builder include libmagic files when present, but skip otherwise
Joey Hess [Mon, 26 Oct 2020 17:36:43 +0000 (13:36 -0400)]
make windows installer builder include libmagic files when present, but skip otherwise

5 years agoallow magicmime on windows
Joey Hess [Mon, 26 Oct 2020 17:34:27 +0000 (13:34 -0400)]
allow magicmime on windows

John Thorvald Wodder II got it working using
https://github.com/datalad/file-windows so don't hard-disable it.

The stack.yaml still disables this build flag, because it needs an extra
C library to be installed, which stack cannot automate.

5 years agoinclude libmagic in windows installer
Joey Hess [Mon, 26 Oct 2020 17:24:37 +0000 (13:24 -0400)]
include libmagic in windows installer

This is from https://raw.githubusercontent.com/datalad/datalad-extensions/master/resources/git-annex-magicBundle.patch
which was written by John Thorvald Wodder II.

I have converted line endings from windows, and fixed indentation to use
tabs.

5 years agoWindows build changed to one done by the datalad-extensions project using Github...
Joey Hess [Mon, 26 Oct 2020 17:06:50 +0000 (13:06 -0400)]
Windows build changed to one done by the datalad-extensions project using Github actions

This is a cleaner build than on Jenkins because the whole environment setup
is handled by the CI config, at least up to the point of "get a random bag
of Windows bytes".

Also, the Jenkins autobuilder has been intermittently failing for a long
time, not due to any problem with git-annex but just a failure to clean up
directories.

Also, this build runs the test suite, and it is (mostly) passing. Test
suite always failed in the jenkins environment.

Also, this build includes libmagic.

Here is the build workflow used by github actions:
https://github.com/datalad/datalad-extensions/blob/master/.github/workflows/build-git-annex-windows.yaml
The libmagic build has its own workflow:
https://github.com/datalad/file-windows/blob/master/.github/workflows/build.yml

(Also cleaned up some windows build cruft I don't use anymore.)

There is no build-version file to link to. I've opened a todo requesting
one: https://github.com/datalad/datalad-extensions/issues/55

5 years agocomment
Joey Hess [Mon, 26 Oct 2020 16:43:19 +0000 (12:43 -0400)]
comment

5 years agoclose
Joey Hess [Mon, 26 Oct 2020 16:02:35 +0000 (12:02 -0400)]
close

5 years agoAdded a comment: thanks
Ilya_Shlyakhter [Mon, 26 Oct 2020 15:37:57 +0000 (15:37 +0000)]
Added a comment: thanks