Commit graph

8593 commits

Author SHA1 Message Date
https://www.google.com/accounts/o8/id?id=AItOawk6cAde4yj3scrJxvhegAwSaAGZNHZRHm8
2f8bf0396a 2013-02-20 12:07:25 +00:00
https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv8
cd6a70eb65 Added a comment 2013-02-20 10:23:12 +00:00
Joey Hess
e1dba0c3dc avoid trying to use GECOS on Android, which responds with sig11 2013-02-19 18:06:27 -04:00
Joey Hess
56e56d98c7 blog for the day & post I forgot yesterday 2013-02-19 17:35:09 -04:00
Joey Hess
19a56ef297 Merge branch 'master' of ssh://git-annex.branchable.com 2013-02-19 17:31:42 -04:00
Joey Hess
00b465e213 shorter directory to external ssh socket
Before it was too long to be used.
2013-02-19 17:31:08 -04:00
Joey Hess
624e34649f Direct mode: Support filesystems like FAT which can change their inodes each time they are mounted. 2013-02-19 17:31:03 -04:00
https://www.google.com/accounts/o8/id?id=AItOawmcYryijvlF8bJvM_eZNSrUPEkMlxMDGTQ
a5023e8019 Added a comment: Also relevant for machines behind pagekite.net 2013-02-19 20:00:30 +00:00
Joey Hess
0f4cc559a7 Android: Support ssh connection caching. 2013-02-19 14:57:45 -04:00
Joey Hess
4f41bd6ba6 make ssh honour HOME rather than getpwent 2013-02-19 13:08:30 -04:00
2001:980:5b04:1:c85d:d75b:5e7a:c5bf
8c250a261d poll vote (I'm really confused about how to make it sync with a remote NON-bare repository. I'm even afraid to try git remote add, since there is no clear method to completely forget a git-annex remote...) 2013-02-19 16:41:01 +00:00
Joey Hess
655f6dc775 update; add openssh and remove dropbox 2013-02-19 12:15:34 -04:00
https://www.google.com/accounts/o8/id?id=AItOawm5iosFbL2By7UFeViqkc6v-hoAtqILeDA
408d94c134 Added a comment: Two direct mode repository on the same computer 2013-02-19 09:24:22 +00:00
Joey Hess
10a988ec0c thought 2013-02-18 23:07:07 -04:00
http://joeyh.name/
abd33834d9 Added a comment 2013-02-19 03:05:35 +00:00
Joey Hess
2e6ac25bd0 Merge branch 'master' of ssh://git-annex.branchable.com 2013-02-18 23:04:20 -04:00
https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv8
df3508d8fc Added a comment 2013-02-19 03:03:14 +00:00
Joey Hess
613af60c46 Merge remote-tracking branch 'origin/master' 2013-02-18 23:03:12 -04:00
Joey Hess
b881e99fbf an idea from australia 2013-02-18 23:03:03 -04:00
http://joeyh.name/
b49364e4cc Added a comment: safe and unsafe commands 2013-02-19 02:55:14 +00:00
Joey Hess
e598b78a69 webapp: Can now add a new local repository, and make it sync with the main local repository. 2013-02-18 20:37:26 -04:00
Joey Hess
9b91ea425c Merge branch 'master' of ssh://git-annex.branchable.com 2013-02-18 19:53:22 -04:00
https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv8
8aabd143ca Added a comment 2013-02-18 23:24:11 +00:00
Joey Hess
f4ab1a2e21 Merge branch 'master' of ssh://git-annex.branchable.com 2013-02-18 18:53:06 -04:00
Joey Hess
aa158a147d blog for the day 2013-02-18 18:52:47 -04:00
Joey Hess
15fd867398 add openssh to Android
This build still needs some work to look in $HOME/.ssh
rather than relying on pwent info.
2013-02-18 18:50:28 -04:00
Joey Hess
eb0e5be62f set fileEncoding on the off chance lsof outputs binary garbage 2013-02-18 17:20:52 -04:00
Joey Hess
d799ef3182 set fileSystemEncoding when reading files that might be binary 2013-02-18 17:19:37 -04:00
109.90.6.140
77dcba88b3 poll vote (I haven't always well understood the differences between commandline operation & the assistant, so the differences would confuse me, and I found the command line more understandable & less scary. Now trying to learn to like & trust the assistant. :)) 2013-02-18 20:53:02 +00:00
Joey Hess
bd99730d77 close 2013-02-18 15:55:18 -04:00
Joey Hess
da6745c7f6 Merge remote-tracking branch 'origin/master' 2013-02-18 15:53:20 -04:00
Joey Hess
2b86dc0271 avoid writing pre-commit hook if we cannot make it executable 2013-02-18 15:52:50 -04:00
Joey Hess
bff6c9f53f add busybox config file so I can edit it easily 2013-02-18 15:43:40 -04:00
Joey Hess
5fe7d2f599 update 2013-02-18 15:41:19 -04:00
Joey Hess
89048e2b34 update 2013-02-18 15:39:55 -04:00
Joey Hess
e80364e19a fix enabling of busybox installer 2013-02-18 15:16:10 -04:00
https://www.google.com/accounts/o8/id?id=AItOawkGCmVc5qIJaQQgG82Hc5zzBdAVdhe2JEM
ba332abd7c 2013-02-18 18:15:29 +00:00
https://www.google.com/accounts/o8/id?id=AItOawkGCmVc5qIJaQQgG82Hc5zzBdAVdhe2JEM
096f7d3dad 2013-02-18 18:13:30 +00:00
Joey Hess
dec8b6ec8c updated hackage version to add missing dependency 2013-02-18 13:33:49 -04:00
Joey Hess
127463e577 webapp: Allow creating repositories on filesystems that lack support for symlinks. 2013-02-18 12:54:41 -04:00
86.6.158.51
410fcaf617 poll vote (I need a Windows port) 2013-02-18 15:14:30 +00:00
69.70.101.194
4ce8d94de9 poll vote (OpenStack SWIFT) 2013-02-18 15:09:02 +00:00
Joey Hess
422dd28f0b hlint 2013-02-18 02:39:40 -04:00
Joey Hess
9aa979edbd types 2013-02-18 02:35:38 -04:00
http://jasonwoof.com/
7f021ecbf5 Added a comment: phonegap might help 2013-02-17 22:43:06 +00:00
Joey Hess
169712fc9a add random 2013-02-17 17:00:28 -04:00
Joey Hess
357cfa5071 Merge branch 'master' of ssh://git-annex.branchable.com 2013-02-17 16:59:37 -04:00
Joey Hess
151ea3c68a blog for the day 2013-02-17 16:59:09 -04:00
Joey Hess
d7c93b8913 fully support core.symlinks=false in all relevant symlink handling code
Refactored annex link code into nice clean new library.

Audited and dealt with calls to createSymbolicLink.
Remaining calls are all safe, because:

Annex/Link.hs:  ( liftIO $ createSymbolicLink linktarget file
  only when core.symlinks=true
Assistant/WebApp/Configurators/Local.hs:                createSymbolicLink link link
  test if symlinks can be made
Command/Fix.hs: liftIO $ createSymbolicLink link file
  command only works in indirect mode
Command/FromKey.hs:     liftIO $ createSymbolicLink link file
  command only works in indirect mode
Command/Indirect.hs:                    liftIO $ createSymbolicLink l f
  refuses to run if core.symlinks=false
Init.hs:                createSymbolicLink f f2
  test if symlinks can be made
Remote/Directory.hs:    go [file] = catchBoolIO $ createSymbolicLink file f >> return True
  fast key linking; catches failure to make symlink and falls back to copy
Remote/Git.hs:          liftIO $ catchBoolIO $ createSymbolicLink loc file >> return True
  ditto
Upgrade/V1.hs:                          liftIO $ createSymbolicLink link f
  v1 repos could not be on a filesystem w/o symlinks

Audited and dealt with calls to readSymbolicLink.
Remaining calls are all safe, because:

Annex/Link.hs:		( liftIO $ catchMaybeIO $ readSymbolicLink file
  only when core.symlinks=true
Assistant/Threads/Watcher.hs:		ifM ((==) (Just link) <$> liftIO (catchMaybeIO $ readSymbolicLink file))
  code that fixes real symlinks when inotify sees them
  It's ok to not fix psdueo-symlinks.
Assistant/Threads/Watcher.hs:		mlink <- liftIO (catchMaybeIO $ readSymbolicLink file)
  ditto
Command/Fix.hs:	stopUnless ((/=) (Just link) <$> liftIO (catchMaybeIO $ readSymbolicLink file)) $ do
  command only works in indirect mode
Upgrade/V1.hs:	getsymlink = takeFileName <$> readSymbolicLink file
  v1 repos could not be on a filesystem w/o symlinks

Audited and dealt with calls to isSymbolicLink.
(Typically used with getSymbolicLinkStatus, but that is just used because
getFileStatus is not as robust; it also works on pseudolinks.)
Remaining calls are all safe, because:

Assistant/Threads/SanityChecker.hs:                             | isSymbolicLink s -> addsymlink file ms
  only handles staging of symlinks that were somehow not staged
  (might need to be updated to support pseudolinks, but this is
  only a belt-and-suspenders check anyway, and I've never seen the code run)
Command/Add.hs:         if isSymbolicLink s || not (isRegularFile s)
  avoids adding symlinks to the annex, so not relevant
Command/Indirect.hs:                            | isSymbolicLink s -> void $ flip whenAnnexed f $
  only allowed on systems that support symlinks
Command/Indirect.hs:            whenM (liftIO $ not . isSymbolicLink <$> getSymbolicLinkStatus f) $ do
  ditto
Seek.hs:notSymlink f = liftIO $ not . isSymbolicLink <$> getSymbolicLinkStatus f
  used to find unlocked files, only relevant in indirect mode
Utility/FSEvents.hs:                    | Files.isSymbolicLink s = runhook addSymlinkHook $ Just s
Utility/FSEvents.hs:                                            | Files.isSymbolicLink s ->
Utility/INotify.hs:                             | Files.isSymbolicLink s ->
Utility/INotify.hs:                     checkfiletype Files.isSymbolicLink addSymlinkHook f
Utility/Kqueue.hs:              | Files.isSymbolicLink s = callhook addSymlinkHook (Just s) change
  all above are lower-level, not relevant

Audited and dealt with calls to isSymLink.
Remaining calls are all safe, because:

Annex/Direct.hs:			| isSymLink (getmode item) =
  This is looking at git diff-tree objects, not files on disk
Command/Unused.hs:		| isSymLink (LsTree.mode l) = do
  This is looking at git ls-tree, not file on disk
Utility/FileMode.hs:isSymLink :: FileMode -> Bool
Utility/FileMode.hs:isSymLink = checkMode symbolicLinkMode
  low-level

Done!!
2013-02-17 16:43:14 -04:00
128.32.34.64
da596b9303 poll vote (An Ubuntu PPA would be supercool! Thanks for your great work!!) 2013-02-17 01:58:17 +00:00