Category Archives: VCS

Subversion 1.8 on CentOS 6

If you’re using CentOS 6 you are stuck with SVN 1.6. This is mostly annoying because SVN 1.6 creates a bunch of .svn folders. (One for every subdirectory in all your repositories.)

To upgrade we can use the WANdisco SVN repository and get Subversion 1.8

Let’s do it!

wget https://snippets.khromov.se/wp-content/uploads/2013/09/svninstall.sh_.txt
mv svninstall.sh_.txt svninstall.sh
chmod a+X svninstall.sh
sh svninstall.sh

That’s it!

Composer: Using your own fork for a package

Modifying a Composer library that is on Packagist is easy! Follow the steps below:

  • Fork the library on GitHub (must contain composer.json file)
  • Push your library changes to the main branch (You can check which one it is on Packagist, under “Source:” – Example)
  • Add an override to your applications composer.json file to use your fork.

Before (Using official Packagist repo)

{
    "require":
    {
        "torophp/torophp": "dev-master"
    }
}

After (Overriding with your own fork)

{
    "repositories":
    [
            {
                "type": "vcs",
                "url": "https://github.com/khromov/ToroPHP"
            }
    ],
    "require":
    {
        "torophp/torophp": "dev-master"
    }
}

Now you can run:

composer update 

Composer should tell you that files have been modified. Answer “Y” to any questions. Congratulations! You are now using your own fork.

Setting up an SVN server with Apache and mod_dav_svn on CentOS 6

Perfect tutorial for setting up an SVN repository in a matter of minutes: Install SVN (Subversion) Server on Fedora 18/17, CentOS/Red Hat (RHEL) 6.4/5.9

The only change I do is putting the Location block in a Virtualhost. That way it will only match the path on the VirtualHost domain and not the entire server. (With the vanilla tutorial, if you run multiple virtualhosts, all of those would return the SVN repo on the /svn path, which is not ideal because it essentially becomes an unusable url on every site.)

Example:

<VirtualHost *:80>
ServerName      my-domain.com
DocumentRoot    "/var/www/html/my-domain.com"

<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn
   AuthType Basic
   AuthName "Subversion repositories"
   AuthUserFile /etc/svn-auth-users
   Require valid-user
</Location>

</VirtualHost>

SVN – Export new/modified files between two revisions with TortoiseSVN

  • Right-click on your working folder and select “Show Log” from the TortoiseSVN menu.
  • Click the revision that was last published
  • Ctrl+Click the HEAD revision so that both the old and the new revisions are highlighted.
  • Right-click on either of the highlighted revisions and select “Compare revisions.” This will open a dialog window that lists all new/modified files.
  • Select all files from this list (Ctrl+a) then right-click on the highlighted files and select “Export selection to…”

Export selection example

Original article available here:
Using TortoiseSVN to Export Only New/Modified Files