Monday, May 20, 2013

About “trunk”, “tags” & “branches”

Using the trunk and branches

Subversion is a very general purpose tool, and unlike some other version control systems, any specific structure you define in your repository is completely optional.
The most common structure people use to configure their Subversion repositories is to have three folders defined at the repository's top level, trunk, tags and branches.
In smaller software projects, the trunk folder usually contains the most current version of the project's files. Most people in the team will just have a working copy of the trunk stored on their own computers and do all of their work in there. In bigger projects, developers will often make a copy of the trunk in the branches folder, and do their work in a working copy of the branch they created.
Some teams let every developer work in their own development branch, periodically merging everyone's individual changes to the trunk. Another common approach is to create a seperate branch for major new versions of the project, or other large endeavors that will carry some dramatic changes to the entire project with them.

Tagging releases

The tags folder is used to create snapshots of the trunk at a specific revision. Most software teams use this method to tag individual releases of their software. Using tags in this way makes it easier for developers to get a copy of their application's source code for a specific given release.

It's just copying, mostly

To create a branch or tag, all you need to do is copying the entire trunk folder over to a new subfolder in the branches or tags folder. The easiest way to do this is to browse the repository (not the working copy) and make such a copy there. That way, Subversion can take care of the actual copying, instead of having to transfer the entire contents of the trunk to your local working copy and sending it back to the server again.
There is no need to be concerned about disk space, Subversion is quite smart about making copies. If two folders are nearly identical, Subversion will only store just enough information to be able to reliably reconstruct the files when you do a checkout or export.

Real world examples

To learn more about how to use the branches and tags folders effectively, take a look at any large open-source project's Subversion repository, like for instance WebKit or Python. You’ll see that new development usually takes place in a branch and you’ll find tags for just about any release that ever went out the door.
Even if you do not see a direct need for the trunk, tags and branches folders in your project right now, if you use Subversion for something that will be released to people outside your team, it is still recommended to set up this default structure. If you ever do need to tag or branch, it's a lot easier to already have those folders around than to re-organize your repository later on.

Wednesday, May 8, 2013

SVN Server on Ubuntu 12.04 LTS with Web Access


sudo apt-get install subversion libapache2-svn apache2

Make the directory where you want to keep the svn repositories and edit the dav_svn.conf file:
sudo mkdir /svn
sudo nano /etc/apache2/mods-enabled/dav_svn.conf

Delete all the data and make it simple like this :-)
<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>

To create a svn user , use the following command:
sudo htpasswd -cm /etc/apache2/dav_svn.passwd arbab

We only need to use the -c option for the FIRST TIME, when you create a user, after that you will only use the -m option.
Move to the folder, where you want to keep your repositories and create your first repository:
cd /svn
sudo svnadmin create test_repo

Make sure you set the permissions of the /svn directory to apache with the following command:
sudo chown -R www-data:www-data /svn

Restart the apache2 service:
sudo /etc/init.d/apache2 restart

On Windows machine, Right-Click  and select the SVN Checkout, inside the directory where we want to store the working copy (In my case, it’s on desktop).

Enter the repository’s URL and click OK, it will be prompted for a login and password.  Enter the login information and click OK.

We shall receive a screen that looks like this:

Create some test file inside the checkout repository, Right-Click and Select the SVN Commit:

Enter the comments that describe the purpose of this commit:

It will be prompted for a login and password.  Enter the login information and click OK.

The result of the commit will appear in a dialog window.

Congrats! now we have a working SVN server on Ubuntu 12.04 :-)
Hope this will help you!
Please Remember me in your prayers!

Thursday, May 2, 2013

Variety Wallpaper changer for Ubuntu 12.10/12.04/Linux Mint 14/13


Variety is a wallpaper changer for Ubuntu which is featureful, yet slim and very easy to use. It can automatically download wallpapers from various online sources, allows rotating them on a regular interval or on demand, and provides easy to use ways to separate the great images from the junk.

variety wallpaper changer

Ubuntu wallpaper changer

Ubuntu variety

variety wallpaper changer

Changes in this Variety 0.4.12:
  • Updated tips and changes txt
  • Bugfix: Save original wallpaper name when quotes are applied
  • Bugfix: a download was forcing the thumbs window to reshow when already hidden
  • Minor fix
  • Improvements related to image preparing; Minor bug-fixes
  • Trigger a download when too few images found; Livelier thumbs when showing folders, not only history and downloads (new downloads are auto-shown)
  • Merged in variety-instant-preferences
  • Fix: removed class Window was still referred at one place
  • Replaced some unnecessary timers with calls to GObject.timeout_add
  • Reordered prefs tabs. Command-line way to set options
  • Added UI preferences tab
  • Added Rating option to main menu - optional (off by default)
  • Added funtionality to set image ratings
  • Filtering by rating added; Preparations for adding simple functionality to rate images
  • Ensure wallpaper is changed even if the current background is a solid color in Gnome/Unity

To install Variety in Ubuntu/Linux Mint open Terminal (Press Ctrl+Alt+T) and copy the following commands in the Terminal:
  • sudo add-apt-repository ppa:peterlevi/ppa
  • sudo apt-get update
  • sudo apt-get install variety
That's it
Download source for other distributions
Related Posts Plugin for WordPress, Blogger...