- minimalCodebaseStructure has been further minimized to just `paths/_head`
- `Command.LoadRemoteRootBranch`, `FileCodebase.getRootBranch`, and `Git.pullGitBranch` take a BranchLoadMode argument which dictates whether to fail or silently succeed if the source repo doesn't contain a codebase
- documented an unhelpful crash in createDir
- no-op instead of crash when `copyFromGit` `from` arg doesn't exist
- renamted `writeAllTermsAndTypes` to `syncToDirectory` for readability
- we noticed that relative local git repos aren't resolved correctly (they are resolved relative to the git/codebase staging dir where git commands are executed)
- pushing to bare repos is untested
- added `scripts/test-git.bash` to start collecting git-related tests, but haven't wired it into `.travis.yml`. It could probably also be a regular EasyTest, since it's no longer calling Github APIs.
* wip git url parser & some Git module cleanup
* modern-uri
* trailing whitespace
* dice up the git uri parser for more easily testable implementation
* ipv6 address reference
* add an ipv4 test for `UriParser.parseProtocol`
* remove duplicate test and typo
* add some autocompletion shortcuts for git urls
* clean up gitUrlArg
* partially update `push` and `pull` InputPatterns & docs
* it compiles!
* sometimes even comments can break the build
* missed a couple of `gitIn`s, so command executed in wrong working dir
* delete UriParser.webRepoParser in favor of autocompletes
* bikeshedding the ConfiguredGitUrlIncludesShortBranchHash error message
* cleanup
* simplify push/pull help
* pretty-print reflog entry for `pull` using RemoteRepo.printNamespace
One remaining loose end is that in recursive definitions are using the suffixified name in the body, for instance:
foo.bar.baz x = baz x + 1
the body `baz` should be fully qualified. Fix might be to unhashComponent before printing, or to create a more interesting PPE on a per declaration basis (it could use the non-suffix name for any references part of the same cycle as the declaration itself)
* Transcript :error blocks now.just.expect an error for _any_ of commands, rather than _all_ of them
* Removed confusing and uninformative error message
* io mode transcript
* Deleted transcript