wiki:SCS_REPO_MAINTENANCE_R3
Last modified 16 years ago Last modified on 02/06/09 14:36:18

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=SCS_REPO_MAINTENANCE_R3, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

The repo maintenance should solve repository issues and create branches or tags when needed.

Task requirements

  • Create a branch for the release team
  • Create a tag
  • If needed, change the addresses in PLATFORM_STANDARDS_REPOSITORY
  • If there is time remaining discuss obsolete information from the repository and remove it (or archive it).
  • Log what is done in Implementation section of this task

Task result

Maintained repository.

Implementation idea

  • Use Implementation section of previous revisions of this tasks as tagging is explained there.
  • Consider improving PLATFORM_STANDARDS_REPOSITORY with the discussion results.

SCS_REPO_MAINTENANCE_R2
SCS_REPO_MAINTENANCE_R1
SCS_REPO_MAINTENANCE_R0

How to demo

Explain where the tag is, any new rules added to the PLATFORM_STANDARDS_REPOSITORY

Design

  • Read thoroughly and check PLATFORM_STANDARDS_REPOSITORY for mistaken links and fix them.
  • Tag and branch are basically same things so you will need to create one branch for the release team where their fixes are going to be applied and one tag for iteration 03 for backup purposes. Use the instructions below to create the branch and the tag in implementation of this task.
  • Read the section about creating a tag using TortoiseSVN or creating a tag on Linux

Creating Tag

Another common version control concept is a tag. A tag is just a “snapshot” of a project in time. In Subversion, this idea already seems to be everywhere. Each repository revision is exactly that—a snapshot of the filesystem after each commit.

However, people often want to give more human-friendly names to tags, like release-1.0. And they want to make snapshots of smaller subdirectories of the filesystem. After all, it's not so easy to remember that release-1.0 of a piece of software is a particular subdirectory of revision 4822.

  • How to create a tag on Linux
    $ svn copy svn://sophie2.org/sophie2/trunk \
               svn://sophie2.org/sophie2/tags/m??-??? \
          -m "Comment."
    Committed revision 351.
    

Here m??-??? stands for the milestone and its name for example m01-pre1.
After the copy completes, the new m??-??? directory is forever a snapshot of how the project looked in the HEAD revision at the time you made the copy. Of course you might want to be more precise about exactly which revision you copy, in case somebody else may have committed changes to the project when you weren't looking. So if you know that revision 350 of /sophie2-repo/trunk is exactly the snapshot you want, you can specify it by passing -r 350 to the svn copy command. In Subversion, there's no difference between a tag and a branch. Both are just ordinary directories that are created by copying. Just as with branches, the only reason a copied directory is a “tag” is because humans have decided to treat it that way: as long as nobody ever commits to the directory, it forever remains a snapshot. If people start committing to it, it becomes a branch.

Implementation

  • Created branch for the release
  • Created tag for ITERATION_03
  • Fixed the links in PLATFORM_STANDARDS_REPOSITORY
  • The discussion is postponed for the next revision of the task in order to finish this task in time.

Testing

Comments

(Write comments for this or later revisions here.)