Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go from svneverever output to svn2git input #9

Closed
flip111 opened this issue May 3, 2020 · 5 comments
Closed

go from svneverever output to svn2git input #9

flip111 opened this issue May 3, 2020 · 5 comments
Assignees
Labels

Comments

@flip111
Copy link
Contributor

flip111 commented May 3, 2020

I've read the blog post here https://blog.hartwork.org/?p=763 there it says:

With that information at hand it's easy to write a svn2git rules file for it

I'm totally new to this. I don't know where to start on this step. Are there any pointers?

@hartwork
Copy link
Owner

hartwork commented May 3, 2020

@hartwork hartwork self-assigned this May 3, 2020
@flip111
Copy link
Contributor Author

flip111 commented May 3, 2020

I read through it. I have as output of this tool

(  1; 277)  /branches
( 90; 277)      /0.11.22
                    [..]
(  1; 277)  /tags
(  3; 277)      /0.10
                    [..]
(  6; 277)      /0.10.1
                    [..]
( 11; 277)      /0.10.2
                    [..]
( 15; 277)      /0.10.3
                    [..]
( 17; 277)      /0.10.4
                    [..]
( 19; 277)      /0.10.4.1
                    [..]
( 21; 277)      /0.10.4.2
                    [..]
( 26; 277)      /0.11
                    [..]
( 28; 277)      /0.11.1
                    [..]
( 51; 277)      /0.11.10
                    [..]
( 53; 277)      /0.11.11
                    [..]
( 55; 277)      /0.11.12
                    [..]
( 57; 277)      /0.11.13
                    [..]
( 60; 277)      /0.11.14
                    [..]
( 63; 277)      /0.11.15
                    [..]
( 67; 277)      /0.11.16
                    [..]
( 70; 277)      /0.11.17
                    [..]
( 73; 277)      /0.11.18
                    [..]
( 75; 277)      /0.11.18.1
                    [..]
( 77; 277)      /0.11.18.2
                    [..]
( 79; 277)      /0.11.19
                    [..]
( 30; 277)      /0.11.2
                    [..]
( 83; 277)      /0.11.20
                    [..]
( 86; 277)      /0.11.21
                    [..]
( 88; 277)      /0.11.22
                    [..]
( 92; 277)      /0.11.23
                    [..]
( 95; 277)      /0.11.23.1
                    [..]
( 97; 277)      /0.11.24
                    [..]
( 32; 277)      /0.11.3
                    [..]
( 35; 277)      /0.11.3.1
                    [..]
( 37; 277)      /0.11.4
                    [..]
( 40; 277)      /0.11.5
                    [..]
( 42; 277)      /0.11.6
                    [..]
( 45; 277)      /0.11.7
                    [..]
( 47; 277)      /0.11.8
                    [..]
( 49; 277)      /0.11.9
                    [..]
( 99; 277)      /0.12
                    [..]
(101; 277)      /0.12.1
                    [..]
(103; 277)      /0.12.2
                    [..]
(107; 277)      /0.12.3
                    [..]
(109; 277)      /0.12.3.1
                    [..]
(111; 277)      /0.12.3.2
                    [..]
(113; 277)      /0.12.3.3
                    [..]
(115; 277)      /0.12.3.95
                    [..]
(117; 277)      /0.12.3.96
                    [..]
(119; 277)      /0.13
                    [..]
(122; 277)      /0.13.0.1
                    [..]
(147; 277)      /0.13.100
                    [..]
(150; 277)      /0.13.101
                    [..]
(152; 277)      /0.13.102
                    [..]
(154; 277)      /0.13.103
                    [..]
(159; 277)      /0.13.104
                    [..]
(161; 277)      /0.13.105
                    [..]
(163; 277)      /0.13.106
                    [..]
(165; 277)      /0.13.107
                    [..]
(168; 277)      /0.13.108
                    [..]
(170; 277)      /0.13.109
                    [..]
(172; 277)      /0.13.110
                    [..]
(176; 277)      /0.13.111
                    [..]
(179; 277)      /0.13.112
                    [..]
(183; 277)      /0.13.113
                    [..]
(185; 277)      /0.13.114
                    [..]
(187; 277)      /0.13.115
                    [..]
(191; 277)      /0.13.116
                    [..]
(124; 277)      /0.13.90
                    [..]
(126; 277)      /0.13.91
                    [..]
(128; 277)      /0.13.92
                    [..]
(130; 277)      /0.13.92.1
                    [..]
(133; 277)      /0.13.93
                    [..]
(135; 277)      /0.13.94
                    [..]
(137; 277)      /0.13.95
                    [..]
(139; 277)      /0.13.96
                    [..]
(141; 277)      /0.13.97
                    [..]
(143; 277)      /0.13.98
                    [..]
(145; 277)      /0.13.99
                    [..]
(193; 277)      /0.14
                    [..]
(196; 277)      /0.14.1
                    [..]
(250; 277)      /0.14.10
                    [..]
(252; 277)      /0.14.11
                    [..]
(255; 277)      /0.14.12
                    [..]
(257; 277)      /0.14.13
                    [..]
(259; 277)      /0.14.14
                    [..]
(261; 277)      /0.14.15
                    [..]
(263; 277)      /0.14.16
                    [..]
(265; 277)      /0.14.17
                    [..]
(267; 277)      /0.14.18
                    [..]
(199; 277)      /0.14.2
                    [..]
(202; 277)      /0.14.3
                    [..]
(206; 277)      /0.14.4
                    [..]
(208; 277)      /0.14.5
                    [..]
(210; 277)      /0.14.6
                    [..]
(212; 277)      /0.14.6.1
                    [..]
(215; 277)      /0.14.6.2
                    [..]
(217; 277)      /0.14.6.3
                    [..]
(219; 277)      /0.14.7
                    [..]
(223; 277)      /0.14.7.1
                    [..]
(225; 277)      /0.14.7.2
                    [..]
(227; 277)      /0.14.7.3
                    [..]
(229; 277)      /0.14.7.4
                    [..]
(231; 277)      /0.14.7.5
                    [..]
(233; 277)      /0.14.7.6
                    [..]
(236; 277)      /0.14.7.7
                    [..]
(239; 277)      /0.14.7.8
                    [..]
(241; 277)      /0.14.7.9
                    [..]
(243; 277)      /0.14.8
                    [..]
(246; 277)      /0.14.9
                    [..]
(248; 277)      /0.14.9.1
                    [..]
(  1; 277)  /trunk
( 20; 111)      /ajax
(  2; 277)      /css
(  2; 277)      /img
(  2; 277)      /lang
( 64; 277)      /libs
( 72;  86)      /scripts
(  2; 277)      /templates

So far i wrote the following rule file

create repository schreikasten
  description "This plugin enables a shoutbox widget, integrated with Wordpress look n' feel, using ajax to add comments and filtering comments with Akismet as spam filter."
end repository

match /trunk/
  repository schreikasten
  branch master
end match

match /tags/0.10
  repository schreikasten
  branch refs/tags/0.10
  min 3
  max 5
end match

Some question that i have:

  • Is this the right way to make a tag? In the output of the tool it says 0.10 is 3 to 277 and 0.10.1 is 3 to 277. So i determined that 0.10 is actually 3 to (6 - 1). Or maybe i don't even need to give min/max revisions here??
  • I noticed that 0.11.22 has a branch (90 to 277) and a tag (88 to 277). Should it be revision 88 or 90 then? I guess max(88, 90) that the author missed a few things for that version. Or should i just stick to tags only because the rest of the versions are also tags?
  • What is [..] below every tag?
  • Do commits automatically appear? If so i guess i won't have to specify in the rule file that /trunk/ajax (for example) stops at 111 and such no longer present in HEAD

@hartwork
Copy link
Owner

hartwork commented May 3, 2020

I'll try to answer some of that but please note that I am not a svn2git service provider.
With that being said:

  • Is this the right way to make a tag? In the output of the tool it says 0.10 is 3 to 277 and 0.10.1 is 3 to 277. So i determined that 0.10 is actually 3 to (6 - 1). Or maybe i don't even need to give min/max revisions here??

Looks sort-of alright. You probably want to use capturing parenthesis with the regex match pattern and a reference to the captured value in the branch section, e.g.

match /tags/([^/]+)/
  repository schreikasten
  branch refs/tags/\1
end

That would extract all tags, not just a single one. I would not bother with min and max unless you want to cut things away or need to convince svn2git to workaround some issue or something.

  • I noticed that 0.11.22 has a branch (90 to 277) and a tag (88 to 277). Should it be revision 88 or 90 then? I guess max(88, 90) that the author missed a few things for that version. Or should i just stick to tags only because the rest of the versions are also tags?

If the branch was created after the tag, it's probably a maintenance or backport branch? Since it has not been deleted yet, maybe turn that into a branch named ``0.11.22.x` to resolve the naming collision while keeping it around?

  • What is [..] below every tag?

That's an omission marker. To see more detail instead, pass --branches or -tags. --help has more info.

  • Do commits automatically appear? If so i guess i won't have to specify in the rule file that /trunk/ajax (for example) stops at 111 and such no longer present in HEAD

I'm not sure I get the question. Folder /trunk/ajax looks like a plain folder that was deleted at some point to me. If that guess is correct you won't need any rule for that folder.

@flip111
Copy link
Contributor Author

flip111 commented May 3, 2020

You probably want to use capturing parenthesis with the regex match pattern and a reference to the captured value in the branch section

wow great idea !

That's an omission marker.

Maybe the omission marker can not be displayed or be displayed at the previous line somehow? That will make the output much shorter and cleaner

I'm not sure I get the question. Folder /trunk/ajax looks like a plain folder that was deleted at some point to me. If that guess is correct you won't need any rule for that folder.

I maybe get back to this at some point. At the moment i'm stuck with svn2git itself so i can't test any further.


I could not test the complete process of creating the rule file with svn2git. But i feel like the questions have been answered. And i think it will be alright once svn2git works so i will close this issue for now. Thank you for the great assistance!

@flip111 flip111 closed this as completed May 3, 2020
@hartwork
Copy link
Owner

hartwork commented May 4, 2020

Maybe the omission marker can not be displayed or be displayed at the previous line somehow? That will make the output much shorter and cleaner

There is option --no-dots for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants