Git development
 help / color / mirror / Atom feed
From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: Michael Haggerty <mhagger@alum.mit.edu>
Cc: Sam Granieri Jr <sjgdev@gmail.com>, Git Users List <git@vger.kernel.org>
Subject: Re: [Feature Request] Better Subversion integration
Date: Sun, 10 Feb 2008 18:53:51 +0100	[thread overview]
Message-ID: <20080210175351.GA13411@atjola.homenet> (raw)
In-Reply-To: <47AF2BBF.1060403@alum.mit.edu>

On 2008.02.10 17:52:15 +0100, Michael Haggerty wrote:
> Björn Steinbrink wrote:
> > On 2008.02.09 20:44:59 -0600, Sam Granieri Jr wrote:
> >> Right now, git-svn import (or clone) will convert tags and branches as  
> >> remote branches.
> >> I would like it if git could pick up subversion tags and translate them 
> >> as git tags upon importing
> > 
> > SVN tags aren't like git tags. A "tag" in SVN is just another directory,
> > which you can modify at will. Yeah, I know, you _should_ not commit any
> > changes to SVN "tags", but shit happens. And once you modify the "tag"
> > in SVN, you would have to invalidate the git tag, and finding a commit
> > that matches the SVN state of things is probably way too expensive to be
> > practical. Maybe some --we-never-mess-up-svn-tag-alike-branches could
> > be added to allow git-svn to create teal git tags though? Dunno, I don't
> > care much. Shouldn't be too hard to find some shell magic to create
> > tags, if one wants them.
> 
> Because of the way an SVN repository is stored, it should be cheap to
> ask SVN whether the contents of a tag in the HEAD revision are identical
> to the contents at the time the tag was created.  If there was any
> change anywhere under the tag directory, then the node of the tag
> directory will be different in the two revisions.
> 
> For that matter, you could ask SVN for information about the revisions
> in which the tags/ directory was changed (this is also very cheap), and
> make sure that none of those changes modified an existing tag.  This
> scan could be done at the beginning of a conversion to determine which
> tags were handled as pure tags (and therefore convertible as git tags)
> and which were not (and therefore require more complicated handling).

Yeah, but what if a "tag" in SVN is modified after that? Then the git
tag becomes kinda invalid, and I see no cheap way to figure out if there
is a commit somewhere that has the same content of the new "tag". That's
what I'm talking about.

The only way I see to handle that is to create a new commit in git and
tag that. But IMHO that's totally nuts, because the tag doesn't even
point to a commit of the "real" branch anymore. And you'd either need to
replace/remove the old tag or use a naming scheme that includes some
@rev marker, both of which are just confusing when talking about tags.

Björn

  reply	other threads:[~2008-02-10 17:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-10  2:44 [Feature Request] Better Subversion integration Sam Granieri Jr
2008-02-10  3:56 ` Björn Steinbrink
2008-02-10 16:52   ` Michael Haggerty
2008-02-10 17:53     ` Björn Steinbrink [this message]
2008-02-10 19:36       ` Michael Haggerty
2008-02-10 22:18         ` Björn Steinbrink
2008-02-11  8:47   ` Sebastian Harl
2008-02-11 16:55     ` Sam Granieri Jr
2008-02-11 22:11       ` Sebastian Harl
2008-02-15 22:38     ` Jan Hudec

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=20080210175351.GA13411@atjola.homenet \
    --to=b.steinbrink@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=mhagger@alum.mit.edu \
    --cc=sjgdev@gmail.com \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox