summaryrefslogtreecommitdiff
path: root/Git
Commit message (Collapse)AuthorAge
* fix slightly incorrect commentGravatar Joey Hess2012-10-12
|
* Fix a crash when merging files in the git-annex branch that contain invalid ↵Gravatar Joey Hess2012-10-12
| | | | | | | utf8. The crash actually occurred when writing out the file, which was done to a handle that had not had fileSystemEncoding applied to it.
* fix last zombies in the assistantGravatar Joey Hess2012-10-04
| | | | | Made Git.LsFiles return cleanup actions, and everything waits on processes now, except of course for Seek.
* bugfixGravatar Joey Hess2012-10-04
|
* remove now-unnecessary manual reapsGravatar Joey Hess2012-10-04
|
* more zombie fightingGravatar Joey Hess2012-10-04
| | | | | | | | | | | | | | | | | | | | I'm down to 9 places in the code that can produce unwaited for zombies. Most of these are pretty innocuous, at least for now, are only used in short-running commands, or commands that run a set of actions and explicitly reap zombies after each one. The one from Annex.Branch.files could be trouble later, since both Command.Fsck and Command.Unused can trigger it, and the assistant will be doing those eventally. Ditto the one in Git.LsTree.lsTree, which Command.Unused uses. The only ones currently affecting the assistant though, are in Git.LsFiles. Several threads use several of those. (And yeah, using pipes or ResourceT would be a less ad-hoc approach, but I don't really feel like ripping my entire code base apart right now to change a foundation monad. Maybe one of these days..)
* make a pipeReadStrict, that properly waits on the processGravatar Joey Hess2012-10-04
| | | | | | Nearly everything that's reading from git is operating on a small amount of output and has been switched to use that. Only pipeNullSplit stuff continues using the lazy version that yields zombies.
* avoid webapp crash on startup when there's no ~/.gitconfigGravatar Joey Hess2012-09-23
| | | | git config --list --global exits nonzero when there's no global config
* flip catchDefaultIOGravatar Joey Hess2012-09-17
|
* better name for fallback sync refsGravatar Joey Hess2012-09-16
| | | | | | | | | | | Don't expose these as branches in refs/heads/. Instead hide them away in refs/synced/ where only show-ref will find them. Make unused only look at branches and tags, not these other things, so it won't care if some stale sync ref used to use a file. This means they don't need to be deleted, which could have led to an incoming sync being missed.
* make the merger merge any equivilant sync branch into the current branchGravatar Joey Hess2012-09-16
| | | | Not just synced/master, but synced/UUID/master, for example
* Support repositories created with --separate-git-dir. Closes: #684405Gravatar Joey Hess2012-09-15
|
* Revert "add catFileIndex"Gravatar Joey Hess2012-09-15
| | | | | This interface is not a good idea, because a running git cat-file --batch does not notice when existing files in the index are changed.
* run git coprocesses with gitEnvGravatar Joey Hess2012-09-15
|
* add catFileIndexGravatar Joey Hess2012-09-15
|
* thread safe git-annex index file useGravatar Joey Hess2012-08-24
|
* make the webapp honor the web.browser git configGravatar Joey Hess2012-08-08
|
* handle case of adding populated drive to just created repoGravatar Joey Hess2012-08-05
| | | | | The just created repo has no master branch commits yet. This is now handled, merging in the master branch from the populated drive.
* fix crashes when run in a git repo that has been initted but has no master ↵Gravatar Joey Hess2012-08-05
| | | | branch yet
* better readProcessGravatar Joey Hess2012-07-19
|
* add back debug loggingGravatar Joey Hess2012-07-19
| | | | | | | | | | | | | Make Utility.Process wrap the parts of System.Process that I use, and add debug logging to them. Also wrote some higher-level code that allows running an action with handles to a processes stdin or stdout (or both), and checking its exit status, all in a single function call. As a bonus, the debug logging now indicates whether the process is being run to read from it, feed it data, chat with it (writing and reading), or just call it for its side effect.
* switch from System.Cmd.Utils to System.ProcessGravatar Joey Hess2012-07-18
| | | | | | | | | | | | | | | | | | Test suite now passes with -threaded! I traced back all the hangs with -threaded to System.Cmd.Utils. It seems it's just crappy/unsafe/outdated, and should not be used. System.Process seems to be the cool new thing, so converted all the code to use it instead. In the process, --debug stopped printing commands it runs. I may try to bring that back later. Note that even SafeSystem was switched to use System.Process. Since that was a modified version of code from System.Cmd.Utils, it needed to be converted too. I also got rid of nearly all calls to forkProcess, and all calls to executeFile, which I'm also doubtful about working well with -threaded.
* Merge branch 'master' into threadedGravatar Joey Hess2012-07-18
|\
* | more debuggingGravatar Joey Hess2012-07-18
| |
| * typoGravatar Joey Hess2012-07-17
| |
| * avoid --no-edit with older git versionsGravatar Joey Hess2012-07-17
| |
* | add debuggingGravatar Joey Hess2012-07-17
|/
* sync: Automatically resolves merge conflicts.Gravatar Joey Hess2012-06-27
| | | | untested, but it compiles :)
* properly handle deleted files when processing ls-files --unmergedGravatar Joey Hess2012-06-27
|
* add ls-files --unmerged supportGravatar Joey Hess2012-06-27
|
* git-config fileEncodingGravatar Joey Hess2012-06-26
| | | | | | | | | | | | Accept arbitrarily encoded repository filepaths etc when reading git config output. This fixes support for remotes with unusual characters in their names. For example, a remote with a url of /tmp/çüş was previously skipped, because the filename wasn't encoded right so it didn't think it was available. And when setting the annex-uuid of a remote named "çüş", it used to add it under a mis-encoded form of the remote's name. Both these cases now work ok in my testing.
* Got rid of the last place that did utf8 decoding.Gravatar Joey Hess2012-06-26
| | | | | Probably fixes bugs/git-annex:_Cannot_decode_byte___39____92__xfc__39__/ although I don't know how to reproduce that bug.
* sync: Avoid recent git's interactive merge.Gravatar Joey Hess2012-06-23
|
* avoid ByteString.Char8 where not neededGravatar Joey Hess2012-06-20
| | | | | Its truncation behavior is a red flag, so avoid using it in these places where only raw ByteStrings are used, without looking at the data inside.
* optimisation and memory leak fixGravatar Joey Hess2012-06-12
|
* crazy optimisationGravatar Joey Hess2012-06-10
| | | | Crazy like a fox..
* queue size fixGravatar Joey Hess2012-06-10
| | | | | Increase queue size for update-index actions, because otherwise they'll never be flushed.
* stage deletions directly using update-indexGravatar Joey Hess2012-06-10
| | | | no need to run git-rm separately
* force thunk for precalculated valueGravatar Joey Hess2012-06-10
|
* refactor and function name cleanupGravatar Joey Hess2012-06-08
| | | | (oops, I had a calcMerge and a calc_merge!)
* make watch use the queueGravatar Joey Hess2012-06-07
| | | | | May not work. Certianly needs to flush the queue from time to time when only symlink changes are being made.
* extend Git.Queue to be able to queue more than simple git commandsGravatar Joey Hess2012-06-07
| | | | | | While I was in there, I noticed and fixed a bug in the queue size calculations. It was never encountered only because Queue.add was only ever run with 1 file in the list.
* add support for staging other types of blobs, like symlinks, into the indexGravatar Joey Hess2012-06-06
| | | | | Also added a utility TopFilePath type, which could stand to be used more widely.
* Merge branch 'master' into watchGravatar Joey Hess2012-06-06
|\
| * move hashObject to HashObject library and generalize it to support all git ↵Gravatar Joey Hess2012-06-06
| | | | | | | | object types
* | Merge branch 'master' into watchGravatar Joey Hess2012-06-06
|\|
| * factor out generic update-index code from unionmerge codeGravatar Joey Hess2012-06-06
| |
* | flush the git queue when a new type of action is being added to itGravatar Joey Hess2012-06-04
|/ | | | | | | | This allows the queue to be used in a single process for multiple possibly conflicting commands, like add and rm, without running them out of order. This assumes that running the same git subcommand with different parameters cannot itself conflict.
* more worktree improvementsGravatar Joey Hess2012-05-19
| | | | | | | | | Avoid more expensive code path when no core.worktree is configured. Don't change worktree when reading config if one is already set. This could happen if GIT_CORE_WORKTREE is set, and the repo also has core.worktree, and the config is reread. Now GIT_CORE_WORKTREE will prevail.
* avoid chdir when already inside worktreeGravatar Joey Hess2012-05-19
|