emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The Gnus repository is switching to Git as of 2010-04-19


From: Ted Zlatanov
Subject: Re: The Gnus repository is switching to Git as of 2010-04-19
Date: Tue, 20 Apr 2010 18:44:34 -0500
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

On Tue, 20 Apr 2010 18:28:45 -0400 Stefan Monnier <address@hidden> wrote: 

>> Git doesn't really do renames, but "git diff" will detect them if the
>> deleted and the new file have the same content.

SM> I know that's how it works.  But I don't know what it means in terms of
SM> the behavior when merging changes, including addition/removal of files.
SM> IIUC it understands movement of files, but does it understand movement
SM> of directories (e.g. if Gnus adds a new file lisp/gnus-new.el, will it
SM> appear in Emacs as lisp/gnus/gnus-new.el or lisp/gnu-new.el?; similarly
SM> if Emacs adds a new file lisp/new.el will it appear in Gnus as
SM> lisp/new.el?).

Sorry, I'm learning some dark corners of Git so I don't assume everyone
knows how Git tracks blobs and indexes them.  It's supposed to find the
files by content across the tree, so a renamed file from either side
*should* be tracked correctly.  I'll have to try it to be sure.

Assuming this rename tracking works well, new files will be managed by
the Gnus synchronization maintainer.  The Emacs side should be
authoritative for new files, meaning that we (Gnus) will get lisp/new.el
and have to remove it, and that we will push our lisp/gnus-new.el to
your lisp/gnus/gnus-new.el.

SM> I don't personally care whether the moves&removal&adds are done on the
SM> Bzr or Git side.  AFAIK it's as easy to do it on either side.  It can
SM> even be split into some part on one side and some other part on the
SM> other side.

Let's keep all the work on the Git side.  I haven't heard anyone else
recommend a better workflow than "all on the Git side" yet.  So,
assuming the above, you or Yidong will not do anything special.  You
just need to tell us which Emacs branches should be synchronized with
the corresponding Gnus branches (let's keep the number down so it
doesn't become too much work).  I assume Emacs trunk will synchronize
with Gnus trunk; what other branches do we need immediately?

On the Gnus side I will experiment and try to develop a scripted
procedure, but it should be readily usable by anyone.

Thanks for your help
Ted




reply via email to

[Prev in Thread] Current Thread [Next in Thread]