Am Donnerstag, 23. April 2015, 22:27:03 schrieb James McCoy:
> On Thu, Apr 23, 2015 at 11:14:25AM -0700, Daniel Hahler wrote:
> > James McCoy wrote:
> > > On Thu, Apr 23, 2015 at 9:19 AM, Christian Brabandt wrote:
> > > > On Do, 23 Apr 2015, Daniel Hahler wrote:
> > > 
> > > Using that export mangles the history of the repository by, at
> > > the very least, removing all traces of the .hgtags file.  This
> > > means that there will be no shared history between
> > > https://github.com/vim/vim and any existing Git mirror (e.g.,
> > > vim-jp's mirror, my mirror, MacVim's mirror, etc.).  This also
> > > means that any Mercurial mirror of the Git mirror won't have the
> > > same history as the existing Mercurial repository.
> > 
> > Even if the .hgtags weren't mangled, it is unlikely that Google's export 
> > would
> > result in the same history.
> 
> Why?

You don't know what happens when pressing "Export to GitHub" on the
Google site. Which exporter is used and what modifications did they add?

The tree IDs would be equal, but just have a look at "git shortlog -se"
in vim/vim and vim-jp/vim and you will see the different mail addresses,
resulting in different commit IDs.

There are some other flaws in the current vim testing repository on
GitHub, which I don't get when converting the HG repo myself, also the
existing projects on GitHub like vim-jp don't have these issues. I will
go in detail in another mail in the "Repository cleanup" thread.

> There are multiple, independently created Git mirrors of the
> Mercurial repository with the same history.

I compared vim-jp, macvim and your vim mirror:
  https://github.com/vim-jp/vim.git
  https://github.com/macvim-dev/macvim.git
  https://github.com/jamessan/vim.git

- Until 7.4.383 all 3 repositores have equal history, meaning the commit
  IDs are identical.
- Since 7.4.384, in macvim there was a change in tracking the original
  vim HG repository and the resulting commits do not have Bram as
  commiter anymore, but a macvim developer. So the history is different
  now.
  Additionally, since 7.4.431 .hgtags changes are not applied anymore,
  so the tree ID is different now as well.
- Since 7.4.684 in vim-jp there is an additional field "HG:rename-source
  hg" (don't know what it is about) in the commit metedata, resulting in
  different commit IDs, so the history is different from your mirror
  now.

So they did have equal history in the beginning, but have diverged and
are different now.

Since you are aware of the benefits of common history, I wonder why you
didn't fork an existing vim mirror.

> hg-git seems to be the
> predominant tool of choice to bridge between Mercurial and Git right now
> (although git-cinnabar is an interesting new alternative).

If searching for hg-git, I can find a Mercurial plug-in, working the
other way round: tracking a git repo in Mercurial.

I used hg-fast-export in my tests, which is proposed in the Git Pro
book:
http://git-scm.com/book/es/v2/Git-and-Other-Systems-Migrating-to-Git

> > > If there's a desire to change the contents of the repository,
> > > that should simply be done after the conversion to Git, instead
> > > of changing published history.
> > 
> > Can you elaborate on what you mean with this?
> > What change to the contents of the repo do you mean?
> 
> I mean that instead of removing the history of .hgtags from the repo,
> simply commit a delete of the file after the final conversion to git.
> Yes, all the previous commits that touch the file are still there, but
> that's fine.  That's the history of the repository.  Published history
> should not be changed.

Why is the .hgtags file important in the git repository? When the git
repo is not base on HG anymore, tags will stop being versioned. This
would have been the case if having started with git directly. Also in
hg-fast-export it is the default to not include the .hgtags file.

Who published? Upstream Vim hasn't published any official git repo yet,
so there would be nothing wrong with cleaned up history.
Of course, if there is enough benefit using an existing git mirror,
that's another story.

Markus

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui