git-annex/Git
Joey Hess cd865c3b8f Switch to using relative paths to the git repository.
This allows the git repository to be moved while git-annex is running in
it, with fewer problems.

On Windows, this avoids some of the problems with the absurdly small
MAX_PATH of 260 bytes. In particular, git-annex repositories should
work in deeper/longer directory structures than before. See
http://git-annex.branchable.com/bugs/__34__git-annex:_direct:_1_failed__34___on_Windows/

There are several possible ways this change could break git-annex:

1. If it changes its working directory while it's running, that would
   be Bad News. Good news everyone! git-annex never does so. It would also
   break thread safety, so all such things were stomped out long ago.

2. parentDir "." -> "" which is not a valid path. I had to fix one
   instace of this, and I should probably wipe all calls to parentDir out
   of the git-annex code base; it was never a good idea.

3. Things like relPathDirToFile require absolute input paths,
   and code assumes that the git repo path is absolute and passes it to it
   as-is. In the case of relPathDirToFile, I converted it to not make
   this assumption.

Currently, the test suite has 16 failures.
2015-01-06 16:19:41 -04:00
..
Command reorg 2014-07-04 12:18:49 -04:00
Remote Check git version at runtime, rather than assuming it will be the same as the git version used at build time when running git-checkattr and git-branch remove. 2015-01-05 15:54:52 -04:00
AutoCorrect.hs Fix handing of autocorrection when running outside a git repository. 2014-08-23 16:51:33 -07:00
Branch.hs simplify 2014-11-12 15:57:38 -04:00
BuildVersion.hs better git version checking 2013-08-02 18:32:26 -04:00
CatFile.hs fix some mixed space+tab indentation 2014-10-09 15:09:11 -04:00
CheckAttr.hs Switch to using relative paths to the git repository. 2015-01-06 16:19:41 -04:00
CheckIgnore.hs gitignore support for the assistant and watcher 2013-08-02 20:37:03 -04:00
Command.hs Switch to using relative paths to the git repository. 2015-01-06 16:19:41 -04:00
Config.hs fix some mixed space+tab indentation 2014-10-09 15:09:11 -04:00
Construct.hs Windows: Fix handling of absolute unix-style git repository paths. 2014-02-08 15:39:04 -04:00
CurrentRepo.hs Use haskell setenv library to clean up several ugly workarounds for inability to manipulate the environment on windows. 2014-10-15 20:33:52 -04:00
DiffTree.hs split out DiffTreeItem 2014-12-22 15:32:51 -04:00
DiffTreeItem.hs split out DiffTreeItem 2014-12-22 15:32:51 -04:00
FileMode.hs more completely solve catKey memory leak 2013-09-19 16:41:21 -04:00
Filename.hs handle C-style escapes in Format 2011-12-23 01:05:16 -04:00
FilePath.hs Switch to using relative paths to the git repository. 2015-01-06 16:19:41 -04:00
Fsck.hs export CreateProcess fields from Utility.Process 2014-06-10 19:20:14 -04:00
GCrypt.hs fix some mixed space+tab indentation 2014-10-09 15:09:11 -04:00
HashObject.hs add git annex view command 2014-02-18 18:22:20 -04:00
Hook.hs pre-commit-annex hook script to automatically extract metadata from lots of types of files 2014-03-02 20:11:58 -04:00
Index.hs comment typo 2014-11-10 15:38:31 -04:00
LsFiles.hs Switch to using relative paths to the git repository. 2015-01-06 16:19:41 -04:00
LsTree.hs fix some mixed space+tab indentation 2014-10-09 15:09:11 -04:00
Merge.hs support commit.gpgsign 2014-07-04 11:53:51 -04:00
Objects.hs New annex.hardlink setting. Closes: #758593 2014-09-05 13:44:09 -04:00
Queue.hs Fix bug in annex.queuesize calculation that caused much more queue flushing than necessary. 2014-06-18 17:23:36 -04:00
Ref.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
RefLog.hs remove Read instance for Ref 2014-02-19 01:19:57 -04:00
Remote.hs move remote removal into separate module 2014-10-27 11:28:58 -04:00
Repair.hs Switch to using relative paths to the git repository. 2015-01-06 16:19:41 -04:00
Sha.hs filter branches (incomplete) 2014-02-16 17:39:54 -04:00
SharedRepository.hs Support git's core.sharedRepository configuration 2012-04-21 15:36:52 -04:00
Types.hs adjust to not use cpp in modules used by configure 2014-04-14 13:37:12 -04:00
UnionMerge.hs union merge bugfix 2013-01-16 21:31:06 -04:00
UpdateIndex.hs split out DiffTreeItem 2014-12-22 15:32:51 -04:00
Url.hs map: Work when there are gcrypt remotes. 2013-11-04 14:14:44 -04:00
Version.hs Check git version at runtime, rather than assuming it will be the same as the git version used at build time when running git-checkattr and git-branch remove. 2015-01-05 15:54:52 -04:00