nirvdrum / svn2git

Ruby tool for importing existing svn projects into git.
MIT License
2.11k stars 443 forks source link

svn2git lacks semantic versioning #17

Closed stas closed 13 years ago

stas commented 13 years ago

Especially it can be found in resulted tags.

Now you get something like:

git tag -l | head -3
0.1
1.0
1.0.1

Where semver.org (SemVerTag) suggests:

git tag -l | head -3
v0.1
v1.0
v1.0.1

For more information, check semver.org and @mojombo/semver.org

nirvdrum commented 13 years ago

I'm not sure what repo you're looking at, but when I do "git tag -l" I get the following:

v1.0.1 v1.1.1 v1.2.0 v1.2.1 v1.2.4 v1.3.0 v1.3.1 v1.3.2 v1.3.3 v2.0.0 v2.1.0

And this highlighted an annoyance for me, because I hate the "v" prefix. But I let Jeweler handle my tagging and it must be adding it.

stas commented 13 years ago

Just got the first svn repo, in my case http://sandbox-theme.googlecode.com/svn/

~» svn2git http://sandbox-theme.googlecode.com/svn/
W: -empty_dir: trunk/skins
... skipping some output ...

Switched to branch 'master'
Counting objects: 1293, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1290/1290), done.
Writing objects: 100% (1293/1293), done.
Total 1293 (delta 891), reused 0 (delta 0)

~» g tag -l | head -3
0.1
0.2
0.3

~» gem list svn2git

*** LOCAL GEMS ***

svn2git (2.1.0)
~» ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]

~» git --version
git version 1.7.4.1

Maybe I'm doing something wrong...

nirvdrum commented 13 years ago

Ahh. I misunderstood. I thought you meant the tagged svn2git versions have weren't following semver.

As for your actual issue, we just use the tag names exactly as they come from SVN. Looking at your SVN repo:

http://sandbox-theme.googlecode.com/svn/tags/

None of those tags follow the semver version numbering scheme. If you were to rename the tags, you'd see what you'd like.

I'm going to close the issue because I don't think it's proper for us to rename tags on people. I guess we could have a --semver flag, but it'd be difficult to apply in the general case, since I've seen different versioning number techniques. E.g., it was quite popular at one time to use a tag like "1_0_3" in SVN.

Please re-open if I'm still misunderstanding.

stas commented 13 years ago

Yep, I agree with you about the forced renaming of tags, though I think having something like --semver will encourage people adopting some standard when creating tags.

I'll try to get some time to make a patch. Thanks.