Ignore test log and devel egg
Apply git notes to store hg sha1 on clone and pull, ref #4

* The Hg sha1 is written to refs/notes/hg-<REMOTE>, to be merged later.
  If multiple fast-import processes are running concurrently, they
  cannot commit to a shared ref such as `refs/notes/hg` without first
  getting the correct parent ref. Unfortunately, there is a
  seemingly-unavoidable race condition if one attempts to have
  fast-import "look up" the value of the shared ref. This patch instead
  has each remote commit to a private notes ref that can be merged later
  using

    git notes --ref=hg merge hg-<REMOTE>

  and then viewed using `git log --notes=hg`. Currently, the user has to
  run the merge command, though we'll hopefully find a cleaner way to do
  it.

* Learns which hgsha1 notes to write based on the last written note.
  This retroactively applies notes in the fetch following a push, or on
  fetch for old repositories for which notes have not yet been written.
  Notes are still not eagerly written in push.

* add test_simple_push_updates_notes
Only make one call to mq.strip() on conflicted push
Ensure mq exentsion is loaded
Add .travis.yml configuration

See https://travis-ci.org/
Merge pull request #27 from fingolfin/fix-mq-dep

Ensure mq exentsion is loaded
Merge pull request #28 from fingolfin/travis-for-pull

Add .travis.yml configuration
Merge pull request #25 from jedbrown/hgsha1-in-notes

Store hg sha1 using git notes (partial implementation of #4)
Store local hg clone under .git/hg/<SHA1-of-remote-URL>/clone

This addresses issue #14: The reference stays valid even after
a "git remote rename NEW OLD"
Store notes under refs/notes/hg-<SHA1-of-remote-URL>
Merge pull request #29 from fingolfin/remote-names

Remote names
Merge notes in hg-<SHA1> schema correctly (fixes test failures from 979e2edacb631ee)
Fix test_clone_relative reaching into .hgrc under old name (origin)

Name changed to use sha1 in 4d0bc2c089ae5ac5d1146181cffc0cff0e2675cb.
Encode URL in utf-8 (fixes test_unicode_path)
Merge pull request #31 from jedbrown/fix-sha1-path-tests

Fix sha1 path tests
Add test_pull_named_remote (includes renaming)
Add failing tests for issue #30

Zero-content pull/fetch after push triggers a notes commit on
fast-import, which git applies successfully, but complains on stderr.

error: refs/notes/hg-84b3865b750a567acb16929c21e14c4a45a5639b does not point to a valid object

New tests:

* test_simple_push_updates_notes
  checks for automatic update after push followed by zero-content
  pull/fetch

* test_simple_push_updates_notes_after_contentful_pull
  checks for eventual update after a fetch/pull that provides content on
  a non-notes ref
Commit notes only when there is at least one non-notes commit (fixes #30)

Git is rejecting commits to refs/notes/hg-* when there are no other
commits in the fast-imports stream. I can't tell if this is intended
behavior (why would it be?) but deferring application of the notes works
around the problem.

Fixes test_simple_push_updates_notes_after_contentful_pull.

Leaving xfail test_simple_push_updates_notes to track when we can apply
notes more eagerly without messy stderr.
Merge pull request #32 from jedbrown/notes-in-empty-fetch

Notes in empty fetch (issue #30)
remotes can be renamed without tinkering with .git/refs/hg/remote-name, closes #14

Although .git/refs/hg/old-remote-name is not renamed or deleted
automatically, it is not harmful and the user can delete it at any time,
thus

    git remote rename old-remote-name new-remote-name

behaves acceptably with no further user interaction. Update
test_pull_named_remote to reflect this.