From edde0977ff523cb06eb86505997fb36997b1c9dc Mon Sep 17 00:00:00 2001 From: "divergentdave@5c17d06f6d67c6f157b76a4cc95ca764b7d2f899" Date: Mon, 1 Feb 2016 06:52:55 +0000 Subject: [PATCH 01/12] Added a comment: Disabling SSH connection caching --- ..._0bcee221dd22b424f08720604a486c79._comment | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 doc/bugs/Android_6.0_compatibility/comment_5_0bcee221dd22b424f08720604a486c79._comment diff --git a/doc/bugs/Android_6.0_compatibility/comment_5_0bcee221dd22b424f08720604a486c79._comment b/doc/bugs/Android_6.0_compatibility/comment_5_0bcee221dd22b424f08720604a486c79._comment new file mode 100644 index 0000000000..7ed65ea61d --- /dev/null +++ b/doc/bugs/Android_6.0_compatibility/comment_5_0bcee221dd22b424f08720604a486c79._comment @@ -0,0 +1,29 @@ +[[!comment format=mdwn + username="divergentdave@5c17d06f6d67c6f157b76a4cc95ca764b7d2f899" + nickname="divergentdave" + subject="Disabling SSH connection caching" + date="2016-02-01T06:52:55Z" + content=""" +I was looking into how SSH connection caching is handled, and it seems there's a bug in the sshCacheDir function in Annex/Ssh.hs. If I'm reading things right, `annex.sshcaching` is ignored when `annex.crippledfilesystem` is set. Thus, even though the configuration says SSH caching is disabled, this function still creates and passes out a temporary directory to be used for connection caching. Further up, this results in ControlPersist, ControlMaster, etc. being passed to OpenSSH, which runs into the SELinux rules. I think the `ifM` calls should be nested the other way around, (see below) which would allow me to turn off connection caching and hopefully get SSH working. I haven't tested this yet, though I plan to get a build environment set up within a month for further tinkering. + +Revised sshCacheDir: + +``` +sshCacheDir :: Annex (Maybe FilePath) +sshCacheDir + | SysConfig.sshconnectioncaching = ifM + ( fromMaybe True . annexSshCaching <$> Annex.getGitConfig ) + ( ifM crippledFileSystem + ( maybe (return Nothing) usetmpdir =<< gettmpdir + , Just <$> fromRepo gitAnnexSshDir ) + , return Nothing + ) + | otherwise = return Nothing + where + gettmpdir = liftIO $ getEnv \"GIT_ANNEX_TMP_DIR\" + usetmpdir tmpdir = liftIO $ catchMaybeIO $ do + let socktmp = tmpdir \"ssh\" + createDirectoryIfMissing True socktmp + return socktmp +``` +"""]] From 38a45bcca68b9bd2e45b12190bbc20663647f3df Mon Sep 17 00:00:00 2001 From: CandyAngel Date: Mon, 1 Feb 2016 12:43:48 +0000 Subject: [PATCH 02/12] Added a comment --- .../comment_1_a9aa122010e576c572ca719638ecf2e6._comment | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/devblog/day_358__bugfix_release/comment_1_a9aa122010e576c572ca719638ecf2e6._comment diff --git a/doc/devblog/day_358__bugfix_release/comment_1_a9aa122010e576c572ca719638ecf2e6._comment b/doc/devblog/day_358__bugfix_release/comment_1_a9aa122010e576c572ca719638ecf2e6._comment new file mode 100644 index 0000000000..b55f0b073b --- /dev/null +++ b/doc/devblog/day_358__bugfix_release/comment_1_a9aa122010e576c572ca719638ecf2e6._comment @@ -0,0 +1,7 @@ +[[!comment format=mdwn + username="CandyAngel" + subject="comment 1" + date="2016-02-01T12:43:47Z" + content=""" +--batch and --with-files on addurl is amazing! I migrated one of my scripts last night, that used to use 'parallel' and disabling autocommit, and it simplified the workflow a *lot*. +"""]] From 81b9d7564c237debf84805a32e6e585f11301f15 Mon Sep 17 00:00:00 2001 From: anarcat Date: Mon, 1 Feb 2016 19:51:44 +0000 Subject: [PATCH 03/12] --- doc/todo/hide_missing_files.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/todo/hide_missing_files.mdwn diff --git a/doc/todo/hide_missing_files.mdwn b/doc/todo/hide_missing_files.mdwn new file mode 100644 index 0000000000..fb69849549 --- /dev/null +++ b/doc/todo/hide_missing_files.mdwn @@ -0,0 +1,7 @@ +I seem to recall a time when [[direct mode]] would hide files that were not present in the local repository. While this created a bunch of headaches for people that wanted to get the missing files, it was great for users that didn't care and only wanted to see what was actually there. (In fact, it was suggested as a solution in [[forum/usability:_what_are_those_arrow_things__63__/]], a year and a half ago.) + +Now this behavior has changed, and with v6 coming up, all those distinctions have basically gone away anyways... + +So what's someone to do if he wants to deal with the usability issue mentioned above? To restate: the problem is users I share files with often see a *lot* of files, with only a fraction of them being actually present. A lot of those files are obviously large, and so they are having a frustrating experience with git-annex because they see all those promises of "files being there" but they have a hard time actually finding which files *really* are there. So they click one one broken link after the other and generally give up before they figure out how to pop a terminal open, use `find -L -type l` or `find -type l` (i can never remember which!) - something we can hardly expect from the average GUI user... + +Thanks for any advice! --[[anarcat]] From 8b2ada9f1aa5c32cc7e630f9030d4cc7da9f41df Mon Sep 17 00:00:00 2001 From: anarcat Date: Mon, 1 Feb 2016 19:53:04 +0000 Subject: [PATCH 04/12] another idea --- ...mb__44___unsafe__44___human-readable_backend.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/todo/dumb__44___unsafe__44___human-readable_backend.mdwn diff --git a/doc/todo/dumb__44___unsafe__44___human-readable_backend.mdwn b/doc/todo/dumb__44___unsafe__44___human-readable_backend.mdwn new file mode 100644 index 0000000000..b73467f4dc --- /dev/null +++ b/doc/todo/dumb__44___unsafe__44___human-readable_backend.mdwn @@ -0,0 +1,12 @@ +This was already discussed twice previously: [[forum/original_filename_on_s3/]] and [[todo/Facilitate_public_pretty_S3_URLs/]]. Yet I am still constantly having problems with this when trying to use git-annex to do some particular stuff. + +My latest example is a friend that wanted to sync files to a remote Webdav server. While I know he can use [[special_remotes/webdav/]] support, the resulting filenames on the webdav server will be basically garbled beyond recognition for any user that will use the Webdav server without git-annex. + +I understand the rationale behind the existing [[backends]], but wouldn't it be possible to implement a new backend that would just use the filename as a key? + +I know this would have several downsides: + +* lack of deduplication +* much more exposed to corruption (no checksum to check against recorded? or can this be put somewhere else?) + +The main advantage, for me, is much better interoperability: any remote becomes usable by other non-git-annex clients... It would also be great as it would allow me to store only a *part* of my git-annex files on a remote without having a forest of empty files (on broken filesystems) or symlinks (on real filesystems) for files that are missing, something that is a massive source of confusion for users I work with. It could, for example, allow me to create thumb drives that would solve the [[hide missing files]] problem. -- [[anarcat]] From 4135c6d5d9de17802a1eb187351eda6b5a451fe0 Mon Sep 17 00:00:00 2001 From: anarcat Date: Mon, 1 Feb 2016 19:54:39 +0000 Subject: [PATCH 05/12] --- doc/todo/hide_missing_files.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/todo/hide_missing_files.mdwn b/doc/todo/hide_missing_files.mdwn index fb69849549..4f7b4b561c 100644 --- a/doc/todo/hide_missing_files.mdwn +++ b/doc/todo/hide_missing_files.mdwn @@ -4,4 +4,6 @@ Now this behavior has changed, and with v6 coming up, all those distinctions hav So what's someone to do if he wants to deal with the usability issue mentioned above? To restate: the problem is users I share files with often see a *lot* of files, with only a fraction of them being actually present. A lot of those files are obviously large, and so they are having a frustrating experience with git-annex because they see all those promises of "files being there" but they have a hard time actually finding which files *really* are there. So they click one one broken link after the other and generally give up before they figure out how to pop a terminal open, use `find -L -type l` or `find -type l` (i can never remember which!) - something we can hardly expect from the average GUI user... +Maybe this could be accomplished through a [[dumb, unsafe, human-readable backend]]? + Thanks for any advice! --[[anarcat]] From 06747f79cec69e2274263b0e08fddf66d8193527 Mon Sep 17 00:00:00 2001 From: "andrew.grangaard@bf525d11f8ebfbfb0976f7df2301aa0f36668f59" Date: Tue, 2 Feb 2016 01:18:07 +0000 Subject: [PATCH 06/12] Tested as working in 10.11 / El Capitan. Add hombrew-cask reference. --- doc/install/OSX.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/install/OSX.mdwn b/doc/install/OSX.mdwn index 7d272be58c..cec766cad5 100644 --- a/doc/install/OSX.mdwn +++ b/doc/install/OSX.mdwn @@ -3,7 +3,7 @@ [[!img /assistant/osx-app.png align=right link=/assistant]] For easy installation, use the prebuilt app bundle. -* 10.10 Yosemite / 10.9 Mavericks: [git-annex.dmg](https://downloads.kitenet.net/git-annex/OSX/current/10.10_Yosemite/git-annex.dmg) +* 10.11 El Capitan / 10.10 Yosemite / 10.9 Mavericks: [git-annex.dmg](https://downloads.kitenet.net/git-annex/OSX/current/10.10_Yosemite/git-annex.dmg) * 10.8.2 Mountain Lion: [git-annex.dmg.bz2](https://downloads.kitenet.net/git-annex/OSX/current/10.8.2_Mountain_Lion/git-annex.dmg.bz2) **warning: not being updated any longer** * 10.7.5 Lion: [git-annex.dmg](https://downloads.kitenet.net/git-annex/OSX/current/10.7.5_Lion/git-annex.dmg) **warning: not being updated any longer** @@ -21,14 +21,14 @@ several more. Handy if you don't otherwise have git installed. ## autobuilds [[Joey]] autobuilds the app for 10.10 Yosemite -(also reported to work on 10.9 Mavericks). +(also reported to work on 10.9 Mavericks and 10.11 El Capitan). Thanks to Kevin McKenzie for hosting the autobuilder. * [autobuild of git-annex.dmg](https://downloads.kitenet.net/git-annex/autobuild/x86_64-apple-yosemite/git-annex.dmg) ([build logs](https://downloads.kitenet.net/git-annex/autobuild/x86_64-apple-yosemite/)) ## using Homebrew -git-annex is now [[available in Homebrew|Homebrew]]! +git-annex is now [[available in Homebrew|Homebrew]] (source) as well as [[available in Homebrew Cask|Homebrew-cask]](binary). ## using MacPorts From c5eaa3d04f69e6b1a6f07a1bed3764cfa1d0c58e Mon Sep 17 00:00:00 2001 From: "andrew.grangaard@bf525d11f8ebfbfb0976f7df2301aa0f36668f59" Date: Tue, 2 Feb 2016 01:22:17 +0000 Subject: [PATCH 07/12] Add homebrew cask instructions. --- doc/install/Homebrew-cask.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/install/Homebrew-cask.mdwn diff --git a/doc/install/Homebrew-cask.mdwn b/doc/install/Homebrew-cask.mdwn new file mode 100644 index 0000000000..a7517f7ec3 --- /dev/null +++ b/doc/install/Homebrew-cask.mdwn @@ -0,0 +1,3 @@ +[Homebrew Cask](http://caskroom.io) has a [cask](https://github.com/caskroom/homebrew-cask/blob/master/Casks/git-annex.rb) for git-annex. + +Homebrew cask users can simply run `brew cask install git-annex` to install git-annex and git-annex-shell from the OSX binary images. From a5ee84862e4a48e6d583e2d386c8af310ef98ff5 Mon Sep 17 00:00:00 2001 From: "andrew.grangaard@bf525d11f8ebfbfb0976f7df2301aa0f36668f59" Date: Tue, 2 Feb 2016 01:24:17 +0000 Subject: [PATCH 08/12] --- doc/install/OSX.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/install/OSX.mdwn b/doc/install/OSX.mdwn index cec766cad5..b1ff1cc854 100644 --- a/doc/install/OSX.mdwn +++ b/doc/install/OSX.mdwn @@ -28,7 +28,7 @@ Thanks to Kevin McKenzie for hosting the autobuilder. ## using Homebrew -git-annex is now [[available in Homebrew|Homebrew]] (source) as well as [[available in Homebrew Cask|Homebrew-cask]](binary). +git-annex is now [[available in Homebrew|Homebrew]] (source) as well as [[available in Homebrew Cask|Homebrew-cask]] (binary). ## using MacPorts From 3b5c1366c8307e9dd046c467e9b2bfef2a87dd32 Mon Sep 17 00:00:00 2001 From: "andrew.grangaard@bf525d11f8ebfbfb0976f7df2301aa0f36668f59" Date: Tue, 2 Feb 2016 01:30:46 +0000 Subject: [PATCH 09/12] Added a comment: 10.10 build works on El Capitan (10.11) --- ...omment_12_17b84f51de6bed88e373350b194c8a8d._comment | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/install/OSX/comment_12_17b84f51de6bed88e373350b194c8a8d._comment diff --git a/doc/install/OSX/comment_12_17b84f51de6bed88e373350b194c8a8d._comment b/doc/install/OSX/comment_12_17b84f51de6bed88e373350b194c8a8d._comment new file mode 100644 index 0000000000..8f937d1b8f --- /dev/null +++ b/doc/install/OSX/comment_12_17b84f51de6bed88e373350b194c8a8d._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="andrew.grangaard@bf525d11f8ebfbfb0976f7df2301aa0f36668f59" + nickname="andrew.grangaard" + subject="10.10 build works on El Capitan (10.11)" + date="2016-02-02T01:30:45Z" + content=""" +The OSX 10.10 build works fine on my 10.11 El Capitan machine. Updated this page to reflect that. + +git-annex is also in 'brew cask', automating installation from the OSX binaries. I've sent [PR 18105](https://github.com/caskroom/homebrew-cask/pull/18105) to the brew cask team to get the cask to work for 10.11. +"""]] From 81fd09ec676d3fa2a6d8487fd2b6d56d55e954e7 Mon Sep 17 00:00:00 2001 From: "101.231.32.166" <101.231.32.166@web> Date: Tue, 2 Feb 2016 09:00:53 +0000 Subject: [PATCH 10/12] poll vote (DCIM directory (photos and videos only)) --- doc/design/assistant/polls/Android_default_directory.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/design/assistant/polls/Android_default_directory.mdwn b/doc/design/assistant/polls/Android_default_directory.mdwn index c1e2598b68..3febc95a15 100644 --- a/doc/design/assistant/polls/Android_default_directory.mdwn +++ b/doc/design/assistant/polls/Android_default_directory.mdwn @@ -4,4 +4,4 @@ Same as the desktop webapp, users will be able to enter a directory they want the first time they run it, but to save typing on android, anything that gets enough votes will be included in a list of choices as well. -[[!poll open=yes expandable=yes 73 "/sdcard/annex" 6 "Whole /sdcard" 7 "DCIM directory (photos and videos only)" 2 "Same as for regular git-annex. ~/annex/"]] +[[!poll open=yes expandable=yes 73 "/sdcard/annex" 6 "Whole /sdcard" 8 "DCIM directory (photos and videos only)" 2 "Same as for regular git-annex. ~/annex/"]] From 70cfdefbb1ac35a1777310ab812a73fee9ca3c5d Mon Sep 17 00:00:00 2001 From: CandyAngel Date: Tue, 2 Feb 2016 10:08:06 +0000 Subject: [PATCH 11/12] Added a comment --- ..._8540bf807eaf1b4e927eafc03deef304._comment | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/tips/Repositories_with_large_number_of_files/comment_5_8540bf807eaf1b4e927eafc03deef304._comment diff --git a/doc/tips/Repositories_with_large_number_of_files/comment_5_8540bf807eaf1b4e927eafc03deef304._comment b/doc/tips/Repositories_with_large_number_of_files/comment_5_8540bf807eaf1b4e927eafc03deef304._comment new file mode 100644 index 0000000000..2d1e238662 --- /dev/null +++ b/doc/tips/Repositories_with_large_number_of_files/comment_5_8540bf807eaf1b4e927eafc03deef304._comment @@ -0,0 +1,21 @@ +[[!comment format=mdwn + username="CandyAngel" + subject="comment 5" + date="2016-02-02T10:08:06Z" + content=""" +Splitting the index (git update-index --split-index) doesn't work for me at all. While it may initially reduce the size of .git/index, making a commit inflates it back to its original size anyway. + +I thought it might be some interaction with v4 index and its compression mechanics but it does the same if I set it to v3 index. For (manufactured) example: + + $ git update-index --split-index + $ du -sh .git/*index* + 4.0K .git/index + 76M .git/sharedindex.70e661456302b51a7ec59bf5b32d630e74b34c7c + + ... add 8000 files ... + + $ git commit -m \"add files\" + $ du -sh .git/*index* + 80M .git/index + 76M .git/sharedindex.70e661456302b51a7ec59bf5b32d630e74b34c7c +"""]] From 51961d93815f9506160c988c2b42c64e305bfff9 Mon Sep 17 00:00:00 2001 From: "mark@6b90344cdab3158eacb94a3944460d138afc9bef" Date: Tue, 2 Feb 2016 18:28:44 +0000 Subject: [PATCH 12/12] --- doc/forum/Multisession_compatible__63__.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/Multisession_compatible__63__.mdwn diff --git a/doc/forum/Multisession_compatible__63__.mdwn b/doc/forum/Multisession_compatible__63__.mdwn new file mode 100644 index 0000000000..6c117a5ba5 --- /dev/null +++ b/doc/forum/Multisession_compatible__63__.mdwn @@ -0,0 +1,8 @@ +Thanks for the great tool! + +Is git-annex multisession compatible? I'm assuming that an "add" for example, will switch to the git-annex branch, commit data, and switch back to the previous branch. Is this protected by a Lock of some sort so that if two separate processes are interacting with the same repo/annex simultaneously there won't be any corruption? + +If not, is this something I could add within my python class that is implementing the interface to the Annex? + +Thanks, +Mark