aboutsummaryrefslogtreecommitdiff
path: root/Annex/Init.hs
Commit message (Collapse)AuthorAge
* .noannex fileGravatar Joey Hess2017-12-13
| | | | | | | | | | | | | A top-level .noannex file will prevent git-annex init from being used in a repository. This is useful for repositories that have a policy reason not to use git-annex. The content of the file will be displayed to the user who tries to run git-annex init. This also affects git annex reinit and initialization via the webapp. It does not affect automatic inits, when there's a sibling git-annex branch already. This commit was supported by the NSF-funded DataLad project.
* enable LambdaCase and convert around 10% of places that could use itGravatar Joey Hess2017-11-15
| | | | | | | | | | | Needs ghc 7.6.1, so minimum base version increased slightly. All builds are well above this version of ghc, and debian oldstable is as well. Code that could use lambdacase can be found by running: git grep -B 1 'case ' | less and searching in less for "<-" This commit was sponsored by andrea rota.
* windows build fixGravatar Joey Hess2017-10-24
|
* test: Fix reversion that made it only run inside a git repository.Gravatar Joey Hess2017-09-29
| | | | | | | | Using annexeval to run probeCrippledFileSystem' caused Git.CurrentRepo.get to be run. Fixed easily since probeCrippledFileSystem' had no need to use the Annex monad. This commit was sponsored by Ethan Aubin.
* init: Display an additional message when it detects a filesystem that allows ↵Gravatar Joey Hess2017-08-28
| | | | writing to files whose write bit is not set.
* inheritable annex.securehashesonlyGravatar Joey Hess2017-02-27
| | | | | | | | | | | | | | | * init: When annex.securehashesonly has been set with git-annex config, copy that value to the annex.securehashesonly git config. * config --set: As well as setting value in git-annex branch, set local gitconfig. This is needed especially for annex.securehashesonly, which is read only from local gitconfig and not the git-annex branch. doc/todo/sha1_collision_embedding_in_git-annex_keys.mdwn has the rationalle for doing it this way. There's no perfect solution; this seems to be the least-bad one. This commit was supported by the NSF-funded DataLad project.
* post-recive hook to make updateInstead work in direct mode and adjusted branchesGravatar Joey Hess2017-02-17
| | | | | | | | * Added post-recieve hook, which makes updateInstead work with direct mode and adjusted branches. * init: Set up the post-receive hook. This commit was sponsored by Fernando Jimenez on Patreon.
* correct spelling mistakesGravatar Edward Betts2017-02-12
|
* Avoid backtraces on expected failures when built with ghc 8; only use ↵Gravatar Joey Hess2016-11-15
| | | | | | | | | | | | | backtraces for unexpected errors. ghc 8 added backtraces on uncaught errors. This is great, but git-annex was using error in many places for a error message targeted at the user, in some known problem case. A backtrace only confuses such a message, so omit it. Notably, commands like git annex drop that failed due to eg, numcopies, used to use error, so had a backtrace. This commit was sponsored by Ethan Aubin.
* refactorGravatar Joey Hess2016-10-17
|
* When auto-upgrading a v3 remote, avoid upgrading to version 6, instead keep ↵Gravatar Joey Hess2016-10-05
| | | | | | | | | | it at version 5. Fixes a bug introduced with v6 mode that I didn't notice until now. Probably not many v3 repos left out there, and upgrading them to v6 mode is not disastrous, only a little premature. This commit was sponsored by Riku Voipio
* fix build on windowsGravatar Joey Hess2016-06-13
|
* also avoid crashing in most circumstances if unable to determine the usernameGravatar Joey Hess2016-06-08
| | | | | | | | Mostly the username is only used for the git committer or other display purposes, and we can just fall back to a dummy value in these cases. The only remaining place where an error is thrown is when starting local pairing, which needs the username to be known.
* refactor isBareRepoGravatar Joey Hess2016-06-02
|
* better avoid switching to direct mode in clone of adjusted branch repoGravatar Joey Hess2016-06-02
|
* avoid switching to direct mode in clone of adjusted branch repoGravatar Joey Hess2016-06-02
|
* Automatically enable v6 mode when initializing in a clone from a repo that ↵Gravatar Joey Hess2016-06-02
| | | | | | | has an adjusted branch checked out. The clone also has the adjusted branch checked out, so it needs to be initialized to a version that supports that.
* improve commentGravatar Joey Hess2016-05-10
|
* fix build warning on windowsGravatar Joey Hess2016-05-05
|
* deal with cloning a repo that has an ajdusted branch checked outGravatar Joey Hess2016-04-04
|
* init: Automatically enter the adjusted unlocked branch when in a v6 repo on ↵Gravatar Joey Hess2016-03-29
| | | | a filesystem not supporting symlinks.
* fix windows buildGravatar Joey Hess2016-02-16
|
* fix numerous problem with test suite on crippled filesystems etcGravatar Joey Hess2016-02-16
|
* When initializing a v6 repo on a crippled filesystem, don't force it into ↵Gravatar Joey Hess2016-02-15
| | | | direct mode.
* remove 163 lines of code without changing anything except importsGravatar Joey Hess2016-01-20
|
* scan for unlocked files on init/upgrade of v6 repoGravatar Joey Hess2016-01-01
|
* Use git-annex init --version=6 to get v6 for nowGravatar Joey Hess2015-12-15
| | | | | Not ready to make it default because of the direct mode upgrade needing to all happen at once.
* move InodeSentinal from direct mode code to its own moduleGravatar Joey Hess2015-12-09
| | | | | Will be used outside of direct mode for v6 unlocked files, and is already used outside of direct mode when adding files to annex.
* refactor and improve pointer file handling codeGravatar Joey Hess2015-12-09
|
* auto-configure filter.annex.smudge and clean on initGravatar Joey Hess2015-12-04
|
* init: Automatically enable annex.pidlock when necessary.Gravatar Joey Hess2015-11-13
|
* use action, not sideActionGravatar Joey Hess2015-10-11
| | | | | | | | sideAction is for things not generally related to the current action being performed. And, it adds a newline after the side action. This was not the right thing to use for stuff like "checksum", where doing a checksum is part of the git annex get process, and indeed we want it to display "(checksum...) ok"
* init: Fix reversion in detection of repo made with git clone --sharedGravatar Joey Hess2015-09-09
|
* Fix reversion in init when ran as root, introduced in version 5.20150731.Gravatar Joey Hess2015-08-19
|
* importfeed --relaxed: Avoid hitting the urls of items in the feed.Gravatar Joey Hess2015-08-19
|
* init: Detect when the filesystem is crippled such that it ignores attempts ↵Gravatar Joey Hess2015-07-30
| | | | to remove the write bit from a file, and enable direct mode. Seen with eg, NTFS fuse on linux.
* Make repo init more robust.Gravatar Joey Hess2015-04-20
| | | | | | | | The setDifferences that got added to initialize turns out to make a git commit, and before ensureCommit has been used. Thus, repo init can fail when the system has a broken hostname etc. Move the ensureCommit to the very first thing to avoid this kind of breakage.
* init: Improve fifo test to detect NFS systems that support fifos but not ↵Gravatar Joey Hess2015-04-03
| | | | | | | | well enough for sshcaching. ssh tries to hard link a fifo, and if not, complains: muxserver_listen: link mux listener .git/annex/ssh/SHARD1@iabak.archiveteam.org.QK8zOCbtNebI7q54 => .git/annex/ssh/SHARD1@iabak.archiveteam.org: Operation not permitted
* Repository tuning parameters can now be passed when initializing a ↵Gravatar Joey Hess2015-01-27
| | | | | | | | | | repository for the first time. * init: Repository tuning parameters can now be passed when initializing a repository for the first time. For details, see http://git-annex.branchable.com/tuning/ * merge: Refuse to merge changes from a git-annex branch of a repo that has been tuned in incompatable ways.
* Fix default repository description created by git annex init, which got ↵Gravatar Joey Hess2015-01-22
| | | | broken by the relative path changes in the last release.
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* fixed all remaining build warnings on WindowsGravatar Joey Hess2014-12-29
|
* no longer used importsGravatar Joey Hess2014-11-06
|
* Remove fixup code for bad bare repositories created by versions 5.20131118 ↵Gravatar Joey Hess2014-11-04
| | | | through 5.20131127. That fixup code would accidentially fire when --git-dir was incorrectly pointed at the working tree of a git-annex repository, resulting in data loss. Closes: #768093
* New annex.hardlink setting. Closes: #758593Gravatar Joey Hess2014-09-05
| | | | | | | | | | * New annex.hardlink setting. Closes: #758593 * init: Automatically detect when a repository was cloned with --shared, and set annex.hardlink=true, as well as marking the repository as untrusted. Had to reorganize Logs.Trust a bit to avoid a cycle between it and Annex.Init.
* reinit: New command that can initialize a new reposotory using the ↵Gravatar Joey Hess2014-04-15
| | | | configuration of a previously known repository. Useful if a repository got deleted and you want to clone it back the way it was.
* add missing Network.URI Ord instance for Debian stableGravatar Joey Hess2014-04-14
|
* Fix direct mode getKeysPresent false positive & also sped up direct mode ↵Gravatar Joey Hess2014-03-07
| | | | | | | | | unused and unannex unused: In direct mode, files that are deleted from the work tree are no longer incorrectly detected as unused. Direct mode `git annex info` slows down a bit due to more stringent checking, but not by a lot.
* Put non-object tmp files in .git/annex/misctmp, leaving .git/annex/tmp for ↵Gravatar Joey Hess2014-02-26
| | | | | | | | | | | | | | | | | | | | only partially transferred objects. This allows eg, putting .git/annex/tmp on a ram disk, if the disk IO of temp object files is too annoying (and if you don't want to keep partially transferred objects across reboots). .git/annex/misctmp must be on the same filesystem as the git work tree, since files are moved to there in a way that will not work cross-device, as well as symlinked into there. I first wanted to put the tmp objects in .git/annex/objects/tmp, but that would pose transition problems on upgrade when partially transferred objects existed. git annex info does not currently show the size of .git/annex/misctemp, since it should stay small. It would also be ok to make something clean it out, periodically.
* random hlint (to give the autobuilder something new to build)Gravatar Joey Hess2014-02-11
|