Use sh 'default value' expansion more idiomatic construct
vcsh: More resilient variable handling for 6b22746e94bf469dd462907fd43d13a454e56ede
Use "assign default values" sh feature to simplify defaults handling
Use 'case' sh construct to shorten short commands' recognition
vcsh: Typo
vcsh: Improve comments
Release v1.20131229
sh: Bump version to 1.20131229.git-HEAD
.gitignore: Ignore .swp

Opening Vim in $PWD without a file name (think scratch pad) will open
.swp, which is not matched by *.swp
Update CONTRIBUTORS
vcsh: strip host part from GIT_REMOTE when inferring VCSH_REPO_NAME

`vcsh clone` does:

    VCSH_REPO_NAME=$(basename "${GIT_REMOTE}" .git)

Typically, most remote paths will have a non-empty directory component,
so using basename works well in all common cases. However, when doing
something like:

    % vcsh clone example.org:repo.git

VCSH_REPO_NAME will be set to "example.org:repo" instead of "repo". This
also happens when using url.<x>.insteadOf, à-la:

    % vcsh clone v:repo

Stripping everything up to the first colon in the remote URL fixes the
issue.

N.B.: remote URLs with protocol (e.g. http://, git://, or ssh://) do
not exhibit this problem, and are unaffected by this change.

Conflicts:
	vcsh
vcsh: don't allow `clone` to choke on filenames with spaces

By replacing the "for" loop with a "while" loop, it is easy to read
line-oriented output without worrying about spaces. However, now the
loop executes in a subshell, and VCSH_CONFLICT won't be available in
the parent shell. In this case, a trivial, portable solution is to
have the comparison as the last command in the subshell.
Update CONTRIBUTORS
merge upstream