This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

maintaining a local Wireshark subversion branch

0

I want to fork off a local copy of the latest stable Wireshark on my computer to do local development, but I want to do it in such a way that will make pulling in updates from the main Wireshark trunk as easy as possible in the future. I want to initially fork releases/wireshark-1.6.1/. After forking, in the short term, I want to be able to pull in revisions from the trunk-1.6/ branch for bug fixes, and in the long term I want to be able to pull in revisions from the trunk/ branch (or from the trunk-1.8/ branch when it is created) to get new major releases and feature additions.

I looked at the trunk-1.6/ and trunk/ branches, but the svn logs for these two branches don't seem to share any recent revision numbers. Is there an easy way to initially fork the 1.6 stable branch and later stay updated with the bug fixes and major releases? If I have to pick between being able to pull in 1.6 bug fixes and being able to easily upgrade to new major releases, I would prefer to be able to easily upgrade to new major releases.

asked 30 Aug '11, 12:10

infiniteloop's gravatar image

infiniteloop
26225
accept rate: 0%


3 Answers:

1

This is how we do it at work:

  • Checkout https://anonsvn.wireshark.org/wireshark/tags/wireshark-1.6.0.
  • Remove the .svn data
  • Import the data into your SVN vendor directory.

  • Merge the data from the SVN vendor directory into your SVN work directory.

  • Do your damage there :-)

When the 1.6.1 is released:

  • Checkout https://anonsvn.wireshark.org/wireshark/tags/wireshark-1.6.1.
  • Remove the .svn data
  • Copy the the SVN vendor directory.
  • Commit the changes
  • Merge the changes between the two vendor versions into your SVN work directory.

Works like a charm :-)

answered 31 Aug '11, 04:53

MavEtJu's gravatar image

MavEtJu
713
accept rate: 100%

edited 31 Aug '11, 04:55

Removing the .svn directories can be accomplished using svn export.

(31 Aug '11, 06:03) grahamb ♦

Thanks MavEtJu! Also, thanks grahamb for the clarification.

(03 Sep '11, 17:44) infiniteloop

1

TBH svn isn't great for maintaining local branches. You could run a working copy carrying your local changes as uncommitted changes updating as required from trunk but it would be cludgy.

You find life easier using a dvcs such as Mercurial or Git with their support for svn, eg. hgSubversion or git-svn.

answered 30 Aug '11, 13:31

grahamb's gravatar image

grahamb ♦
19.8k330206
accept rate: 22%

0

Sure you can do that. Have a look here. Instead of /trunk/ use /trunk-1.6/ for now. Once trunk-1.8 is created you can switch there.

answered 30 Aug '11, 14:16

Jaap's gravatar image

Jaap ♦
11.7k16101
accept rate: 14%

My question was more about how to easily do the procedure you just described, not whether or not it's possible. In other words, with enough work it's possible to construct any repository with any arbitrary history since SVN is capable of storing arbitrary data. In principle, I could hand craft the svn log one revision at a time by manually applying every change that's ever been made to Wireshark, so obviously it's possible. I was asking how do this easily because I'm not an expert on merging branches (or svn logs).

(03 Sep '11, 17:53) infiniteloop