Thread (14 messages) flat view 14 messages, 4 authors, 2016-06-15

Re: [PATCH 1/7] fast-export: Omit tags that tag trees

From: Elijah Newren <hidden>
Date: 2016-06-15 22:46:58

Hi,

On Sat, Jun 20, 2009 at 11:31 AM, Jeff King[off-list ref] wrote:
Do we really want to disallow tags pointing to trees? There is at least
one well-known case in use (kernel v2.6.11).

Also, (and I haven't investigated at all), this sounds like the same
issue we have with tags pointing to tags. IOW, everything referenceable
should be given a mark, but it is not currently. I posted a "how about
this" patch for the tag case here:

 http://article.gmane.org/gmane.comp.version-control.git/119245

but I never got around to following it up with tests. Could you do
something similar for the tree case?
I don't see how we could do something similar for the tree case
without making some significant change to the output/input of both
fast-export and fast-import.  Tag objects are part of the output of
fast-export, thus we can add a mark line to give the object a name and
thus provide us a valid mark we can make the outer tag point to.
Trees are not output by fast-export (other than implicitly by
including files in commits), so we have nothing to point such a tag
at.  If we were to do something like use the full sha1sum instead of
marks in such a case (which git-fast-import should currently accept),
then (a) we'd break exporting a repository limited by path ('git
fast-export master -- libfoo"), and (b) we'd break interoperation with
other tools like bzr-fast-import (or a possible future git that uses a
different checksum).

If someone wanted to tackle modifying the output/input syntax of
fast-export and fast-import, maybe something could be done here, but
my patch just tries to make things operate sanely within the given
documented limitations (as found in the git-fast-export manpage --
"Since 'git-fast-import' cannot tag trees, you will not be able to
export the linux-2.6.git repository completely, as it contains a tag
referencing a tree instead of a commit.").


Elijah
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help