{"thread":{"id":"11914","subject":"what does @NNN in git-svn branch names mean?","startedAt":"2008-02-06T16:29:05Z","lastAt":"2008-02-07T08:16:07Z","messageCount":4,"participants":["Karl Hasselström","Peter Harris","Eric Wong"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"67667","messageId":"20080206162905.GA29432@diana.vm.bytemark.co.uk","threadId":"11914","inReplyTo":null,"subject":"what does @NNN in git-svn branch names mean?","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-02-06T16:29:05Z","receivedAt":"2008-02-06T16:29:05Z","isPatch":false,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"What does it mean when git-svn creates branches with an @ sign and a\nSubversion revision number in them? The documentation doesn't say\n(and, this being perl, grepping for \"@\" in git-svn.perl is of little\nuse!). I'll be happy to write something up if you'll clue me in.\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"67668","messageId":"eaa105840802060837r200ed5f9l7104aa7257793af8@mail.gmail.com","threadId":"11914","inReplyTo":"20080206162905.GA29432@diana.vm.bytemark.co.uk","subject":"Re: what does @NNN in git-svn branch names mean?","fromName":"Peter Harris","fromEmail":"git@peter.is-a-geek.org","sentAt":"2008-02-06T16:37:09Z","receivedAt":"2008-02-06T16:37:09Z","isPatch":false,"sender":{"key":"git@peter.is-a-geek.org","avatar":null},"body":"On Feb 6, 2008 11:29 AM, Karl Hasselström <kha@treskal.com> wrote:\n> What does it mean when git-svn creates branches with an @ sign and a\n> Subversion revision number in them? The documentation doesn't say\n> (and, this being perl, grepping for \"@\" in git-svn.perl is of little\n> use!). I'll be happy to write something up if you'll clue me in.\n\nIt looks like this happens when a branch is deleted and recreated. The\nold branch \"foo\" is renamed to \"foo@lastrev\", and the new branch \"foo\"\ntracks the current state.\n\nPeter Harris\n"},{"id":"67685","messageId":"20080206191830.GA9654@hand.yhbt.net","threadId":"11914","inReplyTo":"20080206162905.GA29432@diana.vm.bytemark.co.uk","subject":"Re: what does @NNN in git-svn branch names mean?","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2008-02-06T19:18:30Z","receivedAt":"2008-02-06T19:18:30Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Karl Hasselström <kha@treskal.com> wrote:\n> What does it mean when git-svn creates branches with an @ sign and a\n> Subversion revision number in them? The documentation doesn't say\n> (and, this being perl, grepping for \"@\" in git-svn.perl is of little\n> use!). I'll be happy to write something up if you'll clue me in.\n\nHi Karl,\n\nThe follow parent feature uses it, with the foo@NNN version being\nthe parent branch.\n\nFor example, if I'm tracking http://example.com/project/trunk, but it\nwas created from http://example.com/old-project at revision 76 (before\nthey used the trunk/branches/tags convention), then the contents of\nhttp://example.com/old-project would show up as the ref trunk@75, and\nthe trunk ref would start as r76 with the ref trunk@75 as its parent.\n\n-- \nEric Wong\n"},{"id":"67764","messageId":"20080207081607.GA18999@diana.vm.bytemark.co.uk","threadId":"11914","inReplyTo":"20080206191830.GA9654@hand.yhbt.net","subject":"Re: what does @NNN in git-svn branch names mean?","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-02-07T08:16:07Z","receivedAt":"2008-02-07T08:16:07Z","isPatch":false,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2008-02-06 11:18:30 -0800, Eric Wong wrote:\n\n> The follow parent feature uses it, with the foo@NNN version being\n> the parent branch.\n>\n> For example, if I'm tracking http://example.com/project/trunk, but\n> it was created from http://example.com/old-project at revision 76\n> (before they used the trunk/branches/tags convention), then the\n> contents of http://example.com/old-project would show up as the ref\n> trunk@75, and the trunk ref would start as r76 with the ref trunk@75\n> as its parent.\n\nI thought I understood (especially with Peter's answer), so I tried to\nmake a script that would create one of those @ branches:\n\n    svnrepo=file://$(pwd)/svnrepo\n    rm -rf svnrepo wd gs\n    svnadmin create svnrepo\n    svn mkdir -m c1 $svnrepo/trunk\n    svn mkdir -m c2 $svnrepo/branches\n    svn mkdir -m c3 $svnrepo/tags\n\n    svn co $svnrepo/trunk wd\n    (\n        cd wd\n        echo foo > foo.txt\n        svn add foo.txt\n        svn ci -m c4\n    )\n\n    svn cp -m c5 $svnrepo/trunk $svnrepo/branches/br\n\n    (\n        cd wd\n        svn switch $svnrepo/branches/br\n        echo foo >> foo.txt\n        svn ci -m c6\n        svn switch $svnrepo/trunk\n        echo foobar >> foo.txt\n        svn ci -m c7\n    )\n\n    svn rm -m c8 $svnrepo/branches/br\n    svn cp -m c9 $svnrepo/trunk $svnrepo/branches/br\n\n    git svn clone --stdlayout --prefix=svn/ $svnrepo gs\n    (\n        cd gs\n        gitk --all\n    )\n\nHowever, this does not result in a br@N branch; instead, the\nremove-and-copy is imported as a merge from trunk to br. I'm not\nsaying this is not correct, but it does seem that I still don't\nunderstand under what circumstances the @N branches are created.\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"}]}