From: Mike Hommey <mh@glandium.org>
To: git@vger.kernel.org
Subject: Announcing git-cinnabar 0.3.0
Date: Fri, 15 Jan 2016 17:56:58 +0900 [thread overview]
Message-ID: <20160115085658.GA15539@glandium.org> (raw)
Git-cinnabar is a git remote helper to interact with mercurial
repositories. It allows to clone, pull and push from/to mercurial remote
repositories, using git.
Code on https://github.com/glandium/git-cinnabar
[ Previous announcements:
http://marc.info/?l=git&m=142837367709781
http://marc.info/?l=git&m=142364715001983
http://marc.info/?l=git&m=141781485726430 ]
Development had been stalled for a few months, with many improvements in
the `next` branch without any new release. I used some time during the
new year break and after in order to straighten things up in order to
create a new release, delaying many of the originally planned changes to
a future 0.4.0 release.
What's new since 0.2.2?
- Speed and memory usage were improved when doing `git push`.
- Now works on Windows, at least to some extent. See details[1].
- Support for pre-0.1.0 git-cinnabar repositories was removed. You must
first use a git-cinnabar version between 0.1.0 and 0.2.2 to upgrade
its metadata.
- It is now possible to attach/graft git-cinnabar metadata to existing
commits matching mercurial changesets. This allows to migrate from
some other hg-to-git tool to git-cinnabar while preserving the
existing git commits. See an example of how this works with the git
clone of the Gecko mercurial repository[2]
- Avoid mercurial printing its progress bar, messing up with
git-cinnabar's output.
- It is now possible to fetch from an incremental mercurial bundle
(without a root changeset).
- It is now possible to push to a new mercurial repository without `-f`.
- By default, reject pushing a new root to a mercurial repository.
- Make the connection to a mercurial repository through ssh respect the
`GIT_SSH` and `GIT_SSH_COMMAND` environment variables.
- `git cinnabar` now has a proper argument parser for all its
subcommands.
- A new `git cinnabar python` command allows to run python scripts or
open a python shell with the right sys.path to import the cinnabar
module.
- All git-cinnabar metadata is now kept under a single ref (although for
convenience, other refs are created, but they can be derived if
necessary).
- Consequently, a new `git cinnabar rollback` command allows to roll
back to previous metadata states.
- git-cinnabar metadata now tracks the manifests DAG.
- A new `git cinnabar bundle` command allows to create mercurial
bundles, mostly for debugging purposes, without requiring to hit a
mercurial server.
- Updated git to 2.7.0 for the native helper.
Development process changes
Up to before this release closing in, the `master` branch was dedicated
to releases, and development was happening on the `next` branch, until a
new release happens.
>From now on, the `release` branch will take dot-release fixes and new
releases, while the `master` branch will receive all changes that are
validated through testing (currently semi-automatically tested with
out-of-tree tests based on four real-life mercurial repositories, with
some automated CI based on in-tree tests used in the future).
The `next` branch will receive changes to be tested in CI when things
will be hooked up, and may have rewritten history as a consequence of
wanting passing tests on every commit on `master`.
Mike
1. https://github.com/glandium/git-cinnabar/wiki/Windows-Support
2. https://github.com/glandium/git-cinnabar/wiki/Mozilla:-Using-a-git-clone-of-gecko%E2%80%90dev-to-push-to-mercurial
next reply other threads:[~2016-01-15 8:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-15 8:56 Mike Hommey [this message]
2016-01-15 9:25 ` Announcing git-cinnabar 0.3.0 Johannes Schindelin
2016-01-15 9:40 ` Mike Hommey
2016-01-15 10:15 ` Johannes Schindelin
2016-02-14 21:57 ` Max Horn
2016-01-16 11:27 ` Announcing git-cinnabar 0.3.1 Mike Hommey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160115085658.GA15539@glandium.org \
--to=mh@glandium.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).