direct mode by default in repositories created by assistant
This commit is contained in:
parent
4008590c68
commit
47994ce5cd
5 changed files with 32 additions and 10 deletions
|
@ -29,6 +29,7 @@ import Annex.UUID
|
|||
import Types.StandardGroups
|
||||
import Logs.PreferredContent
|
||||
import Utility.UserInfo
|
||||
import Config
|
||||
|
||||
import qualified Data.Text as T
|
||||
import Data.Char
|
||||
|
@ -285,12 +286,8 @@ initRepo primary_assistant_repo dir desc = inDir dir $ do
|
|||
, Param "-m"
|
||||
, Param "created repository"
|
||||
]
|
||||
#ifdef darwin_HOST_OS
|
||||
{- Use direct mode repositories by default on OSX, because
|
||||
- this avoids some problems with the Finder. -}
|
||||
when primary_assistant_repo $
|
||||
setDirect True
|
||||
#endif
|
||||
getUUID
|
||||
|
||||
{- Adds a directory to the autostart file. -}
|
||||
|
|
5
debian/changelog
vendored
5
debian/changelog
vendored
|
@ -5,14 +5,13 @@ git-annex (3.20121212) UNRELEASED; urgency=low
|
|||
via symlinks. Note that direct mode is currently experimental. Many
|
||||
git-annex commands do not work in direct mode. Some git commands can
|
||||
cause data loss when used in direct mode repositories.
|
||||
* assistant: Support direct mode.
|
||||
* assistant: Now uses direct mode by default when setting up a new
|
||||
local repository.
|
||||
* OSX assistant: Now uses the FSEvents API to detect file changes.
|
||||
This avoids issues with running out of file descriptors on large trees,
|
||||
as well as allowing detection of modification of files in direct mode.
|
||||
BSD systems still use kqueue, and cannot detect modifications of existing
|
||||
files in direct mode.
|
||||
* OSX assistant: Uses direct mode by default when setting up a new
|
||||
local repository.
|
||||
* kqueue: Fix bug that made broken symlinks not be noticed.
|
||||
* vicfg: Quote filename. Closes: #696193
|
||||
* Bugfix: Fixed bug parsing transfer info files, where the newline after
|
||||
|
|
|
@ -1,3 +1,28 @@
|
|||
## version 3.20130102
|
||||
|
||||
This release makes several significant improvements to the git-annex
|
||||
assistant, which is still in beta.
|
||||
|
||||
The main improvement is direct mode. This allows you to directly edit files
|
||||
in the repository, and the assistant will automatically commit and sync
|
||||
your changes. Direct mode is the default for new repositories created
|
||||
by the assistant. To convert your existing repository to use direct mode,
|
||||
manually run `git annex direct` inside the repository.
|
||||
|
||||
The following are known limitations of this release of the git-annex
|
||||
assistant:
|
||||
|
||||
* If a file in a direct mode repository is modified as it's being transferred,
|
||||
the old version of the file can be lost, and fsck will later complain
|
||||
about a corrupt object.
|
||||
* On BSD operating systems (but not on OS X), the assistant uses kqueue to
|
||||
watch files. Kqueue has to open every directory it watches, so too many
|
||||
directories will run it out of the max number of open files (typically
|
||||
1024), and fail. See [[this_bug|bugs/Issue_on_OSX_with_some_system_limits]]
|
||||
for a workaround.
|
||||
* Also on systems with kqueue, modifications to existing files in direct
|
||||
mode will not be noticed.
|
||||
|
||||
## version 3.20121211
|
||||
|
||||
This release of the git-annex assistant (which is still in beta)
|
||||
|
|
|
@ -10,10 +10,10 @@ and use cases to add. Feel free to chip in with comments! --[[Joey]]
|
|||
* Month 3 "easy setup": [[!traillink configurators]] [[!traillink pairing]]
|
||||
* Month 4 "cloud": [[!traillink cloud]] [[!traillink transfer_control]]
|
||||
* Month 5 "cloud continued": [[!traillink xmpp]] [[!traillink more_cloud_providers]]
|
||||
* Month 6 "9k bonus round": [[!traillink desymlink]]
|
||||
|
||||
We are, approximately, here:
|
||||
|
||||
* Month 6 "9k bonus round": [[!traillink desymlink]]
|
||||
* Month 7: user-driven features and polishing;
|
||||
[presentation at LCA2013](https://lca2013.linux.org.au/schedule/30059/view_talk)
|
||||
* Month 8: [[!traillink Android]]
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
Normally, git-annex repositories consist of symlinks that are checked into
|
||||
git, and in turn point at the content of large files that is stored in
|
||||
`.git/annex/objects/`. Direct mode is an experimental mode that gets rid of
|
||||
the symlinks.
|
||||
`.git/annex/objects/`. Direct mode gets rid of the symlinks.
|
||||
|
||||
The advantage of direct mode is that you can access files directly,
|
||||
including modifying them. The disadvantage is that most regular git
|
||||
commands cannot safely be used, and only a subset of git-annex commands
|
||||
can be used.
|
||||
|
||||
Repositories created by the [[assistant]] use direct mode by default.
|
||||
|
||||
## enabling (and disabling) direct mode
|
||||
|
||||
Any repository can be converted to use direct mode at any time, and if you
|
||||
|
|
Loading…
Reference in a new issue