summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* only create inode sentinal file when initializing a new repoGravatar Joey Hess2013-02-20
|
* Direct mode: Fix support for adding a modified file.Gravatar Joey Hess2013-02-20
| | | | | | | | | | | Adding a file that is already annexed, but has been modified, was broken in direct mode. This fix makes the new content be added. It does have the problem that re-running `git annex add` will checksum and re-add the content repeatedly, until it's committed. This happens because the key associated with the file does not change until the new one gets committed, so it keeps thinking the file has changed.
* remove debug printsGravatar Joey Hess2013-02-19
|
* avoid trying to use GECOS on Android, which responds with sig11Gravatar Joey Hess2013-02-19
|
* blog for the day & post I forgot yesterdayGravatar Joey Hess2013-02-19
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-02-19
|\
* | shorter directory to external ssh socketGravatar Joey Hess2013-02-19
| | | | | | | | Before it was too long to be used.
* | Direct mode: Support filesystems like FAT which can change their inodes each ↵Gravatar Joey Hess2013-02-19
| | | | | | | | time they are mounted.
| * Added a comment: Also relevant for machines behind pagekite.netGravatar https://www.google.com/accounts/o8/id?id=AItOawmcYryijvlF8bJvM_eZNSrUPEkMlxMDGTQ2013-02-19
| |
* | Android: Support ssh connection caching.Gravatar Joey Hess2013-02-19
| |
* | make ssh honour HOME rather than getpwentGravatar Joey Hess2013-02-19
| |
| * poll vote (I'm really confused about how to make it sync with a remote ↵Gravatar 2001:980:5b04:1:c85d:d75b:5e7a:c5bf2013-02-19
| | | | | | | | 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...)
* | update; add openssh and remove dropboxGravatar Joey Hess2013-02-19
| |
| * Added a comment: Two direct mode repository on the same computerGravatar https://www.google.com/accounts/o8/id?id=AItOawm5iosFbL2By7UFeViqkc6v-hoAtqILeDA2013-02-19
| |
* | thoughtGravatar Joey Hess2013-02-18
| |
| * Added a commentGravatar http://joeyh.name/2013-02-19
|/
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-02-18
|\
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv82013-02-19
| |
* | Merge remote-tracking branch 'origin/master'Gravatar Joey Hess2013-02-18
|\|
* | an idea from australiaGravatar Joey Hess2013-02-18
| |
| * Added a comment: safe and unsafe commandsGravatar http://joeyh.name/2013-02-19
| |
* | webapp: Can now add a new local repository, and make it sync with the main ↵Gravatar Joey Hess2013-02-18
|/ | | | local repository.
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-02-18
|\
| * Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawl2Jj8q2upJL4ZQAc2lp7ugTxJiGtcICv82013-02-18
| |
* | Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-02-18
|\|
* | add openssh to AndroidGravatar Joey Hess2013-02-18
| | | | | | | | | | This build still needs some work to look in $HOME/.ssh rather than relying on pwent info.
* | set fileEncoding on the off chance lsof outputs binary garbageGravatar Joey Hess2013-02-18
| |
* | set fileSystemEncoding when reading files that might be binaryGravatar Joey Hess2013-02-18
| |
| * poll vote (I haven't always well understood the differences between ↵Gravatar 109.90.6.1402013-02-18
| | | | | | | | 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. :))
* | closeGravatar Joey Hess2013-02-18
| |
* | Merge remote-tracking branch 'origin/master'Gravatar Joey Hess2013-02-18
|\|
* | avoid writing pre-commit hook if we cannot make it executableGravatar Joey Hess2013-02-18
| |
* | add busybox config file so I can edit it easilyGravatar Joey Hess2013-02-18
| |
* | updateGravatar Joey Hess2013-02-18
| |
* | updateGravatar Joey Hess2013-02-18
| |
* | fix enabling of busybox installerGravatar Joey Hess2013-02-18
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawkGCmVc5qIJaQQgG82Hc5zzBdAVdhe2JEM2013-02-18
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawkGCmVc5qIJaQQgG82Hc5zzBdAVdhe2JEM2013-02-18
| |
* | updated hackage version to add missing dependencyGravatar Joey Hess2013-02-18
| |
* | webapp: Allow creating repositories on filesystems that lack support for ↵Gravatar Joey Hess2013-02-18
| | | | | | | | symlinks.
| * poll vote (I need a Windows port)Gravatar 86.6.158.512013-02-18
| |
| * poll vote (OpenStack SWIFT)Gravatar 69.70.101.1942013-02-18
| |
* | hlintGravatar Joey Hess2013-02-18
| |
* | typesGravatar Joey Hess2013-02-18
| |
| * Added a comment: phonegap might helpGravatar http://jasonwoof.com/2013-02-17
|/
* add randomGravatar Joey Hess2013-02-17
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-02-17
|\
* | blog for the dayGravatar Joey Hess2013-02-17
| |
* | fully support core.symlinks=false in all relevant symlink handling codeGravatar Joey Hess2013-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!!
| * poll vote (An Ubuntu PPA would be supercool! Thanks for your great work!!)Gravatar 128.32.34.642013-02-17
| |