all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Reitter <david.reitter@gmail.com>
To: Ken Raeburn <raeburn@raeburn.org>
Cc: "emacs-devel@gnu.org discussions" <emacs-devel@gnu.org>
Subject: Re: Git mirror - bidrectional
Date: Wed, 13 Jan 2010 11:15:22 -0500	[thread overview]
Message-ID: <2159406C-36DD-4254-BE2A-E3EFCB32013B@gmail.com> (raw)
In-Reply-To: <50BB0D44-FCA5-40C1-BDF7-87D1EE77551D@raeburn.org>

[-- Attachment #1: Type: text/plain, Size: 1513 bytes --]

On Jan 13, 2010, at 10:12 AM, Ken Raeburn wrote:

> On Jan 12, 2010, at 14:27, David Reitter wrote:
>> Does anyone plan to set up facility to make the git mirror writeable and merge changes into the Bzr branch?
>> (Changes to ChangeLog files might lead to merge conflicts, but if that is solved, a bidirectional Git bridge would really be quite useful.)
> 
> Does git have sufficient hooks to push back submitted changes to bzr in real time, and detect conflicts at that point, and report an error to the client without updating the git mirror (aside from maybe some new commits unreferenced by branch labels)?

Looking at the documentation, I see that the "update" hook is designed to do just that.  When a remote repository does a push, the new revisions are sent to the repository, but before the ref (i.e. branch pointer) is updated, this hook is invoked.  It can prevent the update to the ref.

If the hook fails this way, one could call the sync script to import the latest changes from the bzr side so that the client can then pull/merge those before attempting to push again.

What happens when the changes that originated on the git side are re-imported to the git repository?  Would we get double revisions? 

Also, would importing sidestep the new revisions on the git side because the "marks" file points to an earlier previous revision?  This would mean that users would have to constantly "pull -f" and rebase, right?


http://kernel.org/pub/software/scm/git-core/docs/githooks.html

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 203 bytes --]

  reply	other threads:[~2010-01-13 16:15 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-29  5:35 git mirror? Miles Bader
2009-12-29 11:47 ` Andreas Schwab
2009-12-29 18:30   ` Stefan Monnier
2009-12-30 13:17     ` Andreas Schwab
2010-01-05  3:47       ` Miles Bader
2010-01-05  9:24         ` Andreas Schwab
2010-01-05  9:30           ` Miles Bader
2009-12-30 13:10 ` Andreas Schwab
2010-01-12 19:27   ` Git mirror - bidrectional David Reitter
2010-01-13 15:12     ` Ken Raeburn
2010-01-13 16:15       ` David Reitter [this message]
2010-01-13 17:14         ` Stephen J. Turnbull
2010-01-13 19:16           ` David Reitter
2010-01-14  1:58             ` Ken Raeburn
2010-01-14  2:34               ` David Reitter
2010-01-13 16:52       ` Stephen J. Turnbull
2010-01-13 19:28     ` Dan Nicolaescu
2010-01-13 20:42       ` David Reitter
2010-01-14  4:12         ` Stefan Monnier
2010-01-13 23:29       ` Miles Bader

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=2159406C-36DD-4254-BE2A-E3EFCB32013B@gmail.com \
    --to=david.reitter@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=raeburn@raeburn.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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.