summaryrefslogtreecommitdiff
path: root/debian/changelog
Commit message (Collapse)AuthorAge
* Direct mode: Support filesystems like FAT which can change their inodes each ↵Gravatar Joey Hess2013-02-19
| | | | time they are mounted.
* Android: Support ssh connection caching.Gravatar Joey Hess2013-02-19
|
* webapp: Can now add a new local repository, and make it sync with the main ↵Gravatar Joey Hess2013-02-18
| | | | local repository.
* 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.
* webapp: Allow creating repositories on filesystems that lack support for ↵Gravatar Joey Hess2013-02-18
| | | | symlinks.
* 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!!
* prep releaseGravatar Joey Hess2013-02-16
|
* update for reversionGravatar Joey Hess2013-02-15
|
* improveGravatar Joey Hess2013-02-15
|
* add: Improved detection of files that are modified while being added.Gravatar Joey Hess2013-02-14
| | | | | | | | | | | | | In indirect mode, now checks the inode cache to detect changes to a file. Note that a file can still be changed if a process has it open for write, after landing in the annex. In direct mode, some checking of the inode cache was done before, but from a much later point, so fewer modifications could be detected. Now it's as good as indirect mode. On crippled filesystems, no lock down is done before starting to add a file, so checking the inode cache is the only protection we have.
* crippled filesystem support, probing and initial supportGravatar Joey Hess2013-02-14
| | | | | | | | | | | | git annex init probes for crippled filesystems, and sets direct mode, as well as `annex.crippledfilesystem`. Avoid manipulating permissions of files on crippled filesystems. That would likely cause an exception to be thrown. Very basic support in Command.Add for cripped filesystems; avoids the lock down entirely since doing it needs both permissions and hard links. Will make this better soon.
* Now uses the Haskell Glob library, rather than pcre-light, avoiding the need ↵Gravatar Joey Hess2013-02-11
| | | | to install libpcre. Currently done only for Cabal or when the Makefile is made to use -DWITH_GLOB
* Now uses the Haskell uuid library, rather than needing a uuid program.Gravatar Joey Hess2013-02-10
| | | | | | | | Been meaning to do this for some time; Android port was last straw. Note that newer versions of the uuid library have a Data.UUID.V4 that generates random UUIDs slightly more cleanly, but Debian has an old version of the library, so I do it slightly round-about.
* prep release3.20130207Gravatar Joey Hess2013-02-07
|
* Clean up direct mode cache and mapping info when dropping keys.Gravatar Joey Hess2013-02-07
| | | | | | | | | | | | | | These files were left behind, and made getKeysPresent find keys that were not present. It would be expensive to make getKeysPresent check that the actual key files are present (it just lists the directories). But that's not needed if we just clean up the stale cache and mapping files. To handle systems that were in direct mode and got switched back with stale direct mode files, made cleanObjectLoc remove all files in the key's directory. git annex unused will still list keys that are gone but for which the stale direct mode files exists. To deal with that, made dropunused remove the key's directory even if the key does not seem to be present.
* uninit, unannex --fast: If hard link creation fails, fall back to slow mode.Gravatar Joey Hess2013-02-06
|
* pre-commit: Update direct mode mappings.Gravatar Joey Hess2013-02-06
| | | | | | | | | | | | | | | | Making the pre-commit hook look at git diff-index to find changed direct mode files and update the mappings works pretty well. One case where it does not work is when a file is git annex added, and then git rmed, and then this is committed. That's a no-op commit, so the hook probably doesn't even run, and it certianly never notices that the file was deleted, so the mapping will still have the original filename in it. For this and other reasons, it's important that the mappings still be treated as possibly inconsistent. Also, the assistant now allows the pre-commit hook to run when in direct mode, so the mappings also get updated there.
* Deal with stale mappings for deleted file in direct mode.Gravatar Joey Hess2013-02-05
| | | | | | | | | | | | The most common way for a mapping to be stale is when a file was deleted, or renamed. Nothing updates the mappings for deletions yet. But they can also become stale in other ways. For example a file can be modified. So, the mapping is not trusted to be consistent. When we get a key, only replace symlinks that still point to that key with its content. When we drop a key, only put back symlinks for files that still have the direct mode content.
* assistant: Fix location log when adding new file in direct mode.Gravatar Joey Hess2013-02-05
|
* assistant: Ignore .DS_Store on OSX.Gravatar Joey Hess2013-01-28
|
* annex.autocommitGravatar Joey Hess2013-01-27
| | | | | | | New setting, can be used to disable autocommit of changed files by the assistant, while it still does data syncing and other tasks. Also wired into webapp UI
* addurl --fast: Use curl, rather than haskell HTTP library, to support https.Gravatar Joey Hess2013-01-27
|
* Adjust debian package to only build-depend on DAV on architectures where it ↵Gravatar Joey Hess2013-01-27
| | | | is available.
* webapp: Now allows restarting any threads that crash.Gravatar Joey Hess2013-01-26
|
* finalizing release3.20130124Gravatar Joey Hess2013-01-24
|
* noteGravatar Joey Hess2013-01-21
|
* manual and source repository groupsGravatar Joey Hess2013-01-21
|
* fsck: Detect and fix consistency errors in direct mode mapping files.Gravatar Joey Hess2013-01-19
|
* Avoid filename encoding errors when writing direct mode mappings.Gravatar Joey Hess2013-01-18
|
* Fix direct mode mapping code to always store direct mode filenames relative ↵Gravatar Joey Hess2013-01-18
| | | | to the top of the repository, even when operating inside a subdirectory.
* sync: Automatic merge conflict resolution now stages deleted files.Gravatar Joey Hess2013-01-17
|
* Depend on git 1.7.7.6 for --no-edit. Closes: #698399Gravatar Joey Hess2013-01-17
|
* union merge bugfixGravatar Joey Hess2013-01-16
| | | | | | | | | | | | Union merges involving two or more repositories could sometimes result in data from one repository getting lost. This could result in the location log data becoming wrong, and fsck being needed to fix it. NB: I audited for any other occurrences of this problem. There are other places than union merge where multiple changes are fed into update-index in a stream, but they all involve working copy files being staged, or their deletion being staged, and in this case it's fine for the later changes to override the earlier ones.
* Deal with incompatability in gpg2, which caused prompts for encryption ↵Gravatar Joey Hess2013-01-16
| | | | passphrases rather than using the supplied --passphrase-fd.
* webapp: Fix crash adding removable drive that has an annex directory in it ↵Gravatar Joey Hess2013-01-15
| | | | that is not a git repository.
* wordingGravatar Joey Hess2013-01-15
|
* webapp: Now has a page to view the log, accessed from the control menu.Gravatar Joey Hess2013-01-15
|
* webapp: Now always logs to .git/annex/daemon.logGravatar Joey Hess2013-01-15
| | | | | | | | It used to not log to daemon.log when a repository was first created, and when starting the webapp. Now both do. Redirecting stdout and stderr to the log is tricky when starting the webapp, because the web browser may want to communicate with the user. (Either a console web browser, or web.browser = echo) This is handled by restoring the original fds when running the browser.
* webapp: Avoid an error if a transfer is stopped just as it finishes. Closes: ↵Gravatar Joey Hess2013-01-14
| | | | #698184
* webapp: More adjustments to longpoll code to deal with changes in variable ↵Gravatar Joey Hess2013-01-14
| | | | quoting in different versions of shakespeare-js.
* reword to avoid lintian false errorGravatar Joey Hess2013-01-14
|
* releasing version 3.201301143.20130114Gravatar Joey Hess2013-01-14
|
* assistant: Avoid committer crashing if a file is deleted at the wrong instant.Gravatar Joey Hess2013-01-14
|
* webapp: Avoid illegal characters in hostname when creating S3 or Glacier remote.Gravatar Joey Hess2013-01-14
|
* In direct mode, files with the same key are no longer hardlinked, as that ↵Gravatar Joey Hess2013-01-14
| | | | would cause a surprising behavior if modifying one, where the other would also change.
* safe recv-key in direct modeGravatar Joey Hess2013-01-11
| | | | | Checks the key's size and checksum. This is sorta expensive, but it avoids needing to add another round-trip to the protocol.
* updateGravatar Joey Hess2013-01-11
|
* assistant: Support new gvfs dbus names used in Gnome 3.6. (untested)Gravatar Joey Hess2013-01-10
|
* webapp: Adjust longpoll code to work with recent versions of shakespeare-js.Gravatar Joey Hess2013-01-09
| | | | | | | | | | | | A while ago I added code to support recent versions of shakespeare-js, (commit a2e8bda7df7707f84cd551ed16ffaa0bf7c3aac0). But it seems that resulted in quoting of all strings inserted into javascript files, which means it's now impossible to do the type of metaprogramming that longpolling.julius relied on. I have found another way to accomplish the same thing without needing to generate unique function names. Hopefully it's portable. Opinion of shakespeare-js now at rock bottom. One of these days, this needs to be redone to use Fay.
* webapp: Use IP address, rather than localhostGravatar Joey Hess2013-01-09
| | | | | | | | | since some systems may have configuration problems or other issues that prevent web browsers from connecting to the right localhost IP for the webapp. Tested on both ipv4 and ipv6 localhost. Url for the latter looks like: http://[::1]:50676