Announcement

Collapse
No announcement yet.

Whats a trunk?

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Whats a trunk?

    Hi,
    I use Kopete to chat but it has problems so i reported my bug and got the following back:
    Yes I can confirm Sending Files does not work..

    I am currently looking at it.. You can receive now with the latest trunk but
    not send.
    fromhttps://bugs.kde.org/show_bug.cgi?id=194833

    what does he mean by trunk, does it mean it will be in Kubuntu 10.04?
    Thanks:<br />Using a Toshiba A300-21H ,3GB ram,Intel Core2Duo 2Ghz,Mobile Intel® GMA 4500MHD,intel wifi link 5100. Tux wants you!

    #2
    Re: Whats a trunk?

    http://en.wikipedia.org/wiki/Trunk_(software)

    Currently, changes/development in KDE SC trunk will eventually make up KDE SC 4.5. But if you look at the last post in the bug report, the fix mentioned has been backported to the 4.4 branch. That means if should be picked up by Lucid, which will likely come with KDE SC 4.4.2 when released.

    Comment


      #3
      Re: Whats a trunk?

      Thanks, i guess i just dont understand the whole development cycle for KDE, what does SC mean? At what point does Kubuntu use the latest version of KDE?
      I often see how to upgrade to the latest kde on the main kubuntu site, never chance it because of a bad experience once - wrecked my whole setup ( cant remember but i might have tried a beta in which case its my fault )
      Thanks:<br />Using a Toshiba A300-21H ,3GB ram,Intel Core2Duo 2Ghz,Mobile Intel® GMA 4500MHD,intel wifi link 5100. Tux wants you!

      Comment


        #4
        Re: Whats a trunk?

        KDE SC had me wondering also what it ment. It stands for KDE Software Compilation.

        Kubuntu will not include the absolute latest version. Because of the release cycle of KDE and Kubuntu there's about 2 months of time between the KDE release and the Kubuntu release. This means that the first point release of KDE will be included. This is the release that has the first and probably most bugs fixed already.

        Installing the backported packages does give you the latest version but it must also be considered installing a beta or even sometimes alpha software. This is perfectly acceptable for someone who likes to play with new software and features and isn't scared of solving some bugs and/or experience a couple of crashes. But for the average user this is not recommended.

        Comment


          #5
          Re: Whats a trunk?

          Originally posted by natman
          Thanks, i guess i just dont understand the whole development cycle for KDE, what does SC mean?
          As Tecumseh said, SC is short for Software Compilation. Basically means the "Desktop Environment and Applications".

          At what point does Kubuntu use the latest version of KDE?
          When kubuntu version (like 10.04) is released, it comes with the latest stable release of KDE SC...for 10.04 it will likely be 4.4.2. After a release, new minor versions (4.4.3, 4.4.4) are usually added as unsupported upgrades via the "backports" repository...or sometimes added to the supported "updates" repository it they are free of regressions. New major versions (4.5), and their devel versions may be available through unofficial ppa repositories. (these are usually announced on kubuntu.org).

          The devel version of kubuntu has the latest released KDE SC including betas and rcs (These currently come from the 4.4 branch)

          Comment


            #6
            Re: Whats a trunk?

            Natman,
            Serious developers use a special application that keeps track of and help manipulate the source code that is written to create an application. That application is a "version control system". The three most popular free version controls systems are Subversion (svn - was the most popular), git (used by the kernel and others) and bzr (Bazaar, created by Canonical and my favorite).

            When you install Subversion and create a repository (a directory that contains changes made to the source of an application) it creates within its database three "directories": "Branches", "Tags" and "Trunk". Other schemes are possible, but these are usually the default. Usually, All changes end up in the trunk, and changes are kept track of by "Tags", which are used to mark milestones in the development process. These milestones are usually version numbers. Initially, the entire source code, if it exists, is "imported" into the repository and given a tag, usually "V0.1", or some other useful description. The "Trunk" has a "head" and development takes place at the head. Work is done on the source by "exporting" it to a "working" copy, where the developer can use his/her tools to modify the source. Other developers may also export the source to their "working" copy and make changes also. When they are done making changes they "commit" their changes. Conflicts created by the changes are flagged by the verson control system so that the administrator can resolve them and complete the commit. Once the commits are completed the state of the code in the trunk is marked with a tag, say, "V0.2", to distinguish it from any previous tags applied. Then, developers export another, fresh copy of the code to their "working" directory and continue development. IF a problem arises in a previously released ("tagged") version the administrator can either move that version to a "Branch" and fix the problem, compile it and release the compiled version, then merge the branch back into the version. Or, the administrator can move the branch to the head of the trunk, fix the code, compile it, tag it, release the fixed version, and restore the head of the truck to the latest development version.

            I prefer Bzr (it's in the repository) because it is easiest to use and administer for single developer projects. As a single developer, I can try all sorts of changes on an app, evaluate the changes, and either roll back to the tag or commit the changes and tag them as a new version. I can also create a branch of my application and continue development on it simultaneously with the trunk. Prior to API's like Qt, which allowed for cross platform development in a single set of source codes, versions of the app for different platforms had to be kept in separate branches.

            BTW, controlling an app begins with a complete copy of the source code, as it is, being imported into the repository, and after that ONLY the changes to the code are saved. When source of a particular tag is exported the original source is merged with all the changes applied since the first import in order to generate a particular tag. The source for any tag is never in the repository as a complete set of sources, i.e., a collection of *.h and *.cpp files. Those are only generated when a version is exported to a working copy.
            "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
            – John F. Kennedy, February 26, 1962.

            Comment

            Working...
            X