git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Announcing git-cinnabar 0.3.0
@ 2016-01-15  8:56 Mike Hommey
  2016-01-15  9:25 ` Johannes Schindelin
  2016-01-16 11:27 ` Announcing git-cinnabar 0.3.1 Mike Hommey
  0 siblings, 2 replies; 6+ messages in thread
From: Mike Hommey @ 2016-01-15  8:56 UTC (permalink / raw)
  To: git

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Announcing git-cinnabar 0.3.0
  2016-01-15  8:56 Announcing git-cinnabar 0.3.0 Mike Hommey
@ 2016-01-15  9:25 ` Johannes Schindelin
  2016-01-15  9:40   ` Mike Hommey
  2016-02-14 21:57   ` Max Horn
  2016-01-16 11:27 ` Announcing git-cinnabar 0.3.1 Mike Hommey
  1 sibling, 2 replies; 6+ messages in thread
From: Johannes Schindelin @ 2016-01-15  9:25 UTC (permalink / raw)
  To: Mike Hommey; +Cc: git

Hi Mike,

On Fri, 15 Jan 2016, Mike Hommey wrote:

> 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.

Great news! I was really sad when Sverre's work on remote-hg was basically
ignored and replaced (and he went away after that), and then the
replacement was not maintained properly.

So I am personally very happy that there is a well-maintained alternative
now.

Hopefully I will get a chance to test this soon, but I already have one
comment: at
> 1. https://github.com/glandium/git-cinnabar/wiki/Windows-Support

... it is mentioned that...

	Git for Windows 32-bits is untested, but assumed to have the same
	issue as MSys2 32-bits

... but as is mentioned here:

	https://github.com/git-for-windows/git/wiki/32-bit-issues

Git for Windows executes the rebaseall step as part of the installation,
so it should not have the same issue as MSys2 32-bits ;-)

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Announcing git-cinnabar 0.3.0
  2016-01-15  9:25 ` Johannes Schindelin
@ 2016-01-15  9:40   ` Mike Hommey
  2016-01-15 10:15     ` Johannes Schindelin
  2016-02-14 21:57   ` Max Horn
  1 sibling, 1 reply; 6+ messages in thread
From: Mike Hommey @ 2016-01-15  9:40 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

On Fri, Jan 15, 2016 at 10:25:14AM +0100, Johannes Schindelin wrote:
> Hi Mike,
> 
> On Fri, 15 Jan 2016, Mike Hommey wrote:
> 
> > 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.
> 
> Great news! I was really sad when Sverre's work on remote-hg was basically
> ignored and replaced (and he went away after that), and then the
> replacement was not maintained properly.
> 
> So I am personally very happy that there is a well-maintained alternative
> now.
> 
> Hopefully I will get a chance to test this soon, but I already have one
> comment: at
> > 1. https://github.com/glandium/git-cinnabar/wiki/Windows-Support
> 
> ... it is mentioned that...
> 
> 	Git for Windows 32-bits is untested, but assumed to have the same
> 	issue as MSys2 32-bits
> 
> ... but as is mentioned here:
> 
> 	https://github.com/git-for-windows/git/wiki/32-bit-issues
> 
> Git for Windows executes the rebaseall step as part of the installation,
> so it should not have the same issue as MSys2 32-bits ;-)

Please feel free to update the wiki page, it should be publicly editable
:)

Mike

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Announcing git-cinnabar 0.3.0
  2016-01-15  9:40   ` Mike Hommey
@ 2016-01-15 10:15     ` Johannes Schindelin
  0 siblings, 0 replies; 6+ messages in thread
From: Johannes Schindelin @ 2016-01-15 10:15 UTC (permalink / raw)
  To: Mike Hommey; +Cc: git

Hi Mike,

On Fri, 15 Jan 2016, Mike Hommey wrote:

> On Fri, Jan 15, 2016 at 10:25:14AM +0100, Johannes Schindelin wrote:
> 
> > Git for Windows executes the rebaseall step as part of the
> > installation, so it should not have the same issue as MSys2 32-bits
> > ;-)
> 
> Please feel free to update the wiki page, it should be publicly editable
> :)

Done!
Dscho

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Announcing git-cinnabar 0.3.1
  2016-01-15  8:56 Announcing git-cinnabar 0.3.0 Mike Hommey
  2016-01-15  9:25 ` Johannes Schindelin
@ 2016-01-16 11:27 ` Mike Hommey
  1 sibling, 0 replies; 6+ messages in thread
From: Mike Hommey @ 2016-01-16 11:27 UTC (permalink / raw)
  To: git

This is a brown paper bag release. It turns out I managed to break the
upgrade path only 10 commits before the release.

What's new since 0.3.0?

- `git cinnabar fsck` doesn't fail to upgrade metadata.
- The remote.$remote.cinnabar-draft config works again.
- Don't fail to clone an empty repository.
- Allow to specify mercurial configuration items in a .git/hgrc file.

Mike

On Fri, Jan 15, 2016 at 05:56:58PM +0900, Mike Hommey wrote:
> 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
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Announcing git-cinnabar 0.3.0
  2016-01-15  9:25 ` Johannes Schindelin
  2016-01-15  9:40   ` Mike Hommey
@ 2016-02-14 21:57   ` Max Horn
  1 sibling, 0 replies; 6+ messages in thread
From: Max Horn @ 2016-02-14 21:57 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Mike Hommey, git

Hi there,

> On 15 Jan 2016, at 10:25, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> 
> Hi Mike,
> 
> On Fri, 15 Jan 2016, Mike Hommey wrote:
> 
>> 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.
> 
> Great news! I was really sad when Sverre's work on remote-hg was basically
> ignored and replaced (and he went away after that),

I have a bit of a different recollection of that story; in particular, his tool was quite limited, and quickly broke down when used. 

> and then the replacement was not maintained properly.

If you are talking about felipe's git-remote-hg: I am maintaining a fork of that, and it works quite well for me (I use it daily, and so do many other people):

<https://github.com/fingolfin/git-remote-hg>

That said, I certainly am not putting much energy into it, so I am very happy to see that Mike is active on his new tool :-).

Cheers,
Max

> 
> So I am personally very happy that there is a well-maintained alternative
> now.
> 
> Hopefully I will get a chance to test this soon, but I already have one
> comment: at
>> 1. https://github.com/glandium/git-cinnabar/wiki/Windows-Support
> 
> ... it is mentioned that...
> 
> 	Git for Windows 32-bits is untested, but assumed to have the same
> 	issue as MSys2 32-bits
> 
> ... but as is mentioned here:
> 
> 	https://github.com/git-for-windows/git/wiki/32-bit-issues
> 
> Git for Windows executes the rebaseall step as part of the installation,
> so it should not have the same issue as MSys2 32-bits ;-)
> 
> Ciao,
> Dscho
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-02-14 22:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-15  8:56 Announcing git-cinnabar 0.3.0 Mike Hommey
2016-01-15  9:25 ` 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

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).