Even if the two users change the same file, it’s likely that they’ll change separate parts of the file, and those disparate changes can easily be merged together later. In the vast majority of cases, the two users’ changes don’t conflict. For users of systems such as Visual SourceSafe, this may seem odd, as there is no way to ensure that the two users’ changes to the file don’t conflict with each other. That means that if two users have checked out working copies that contain the same file, nothing prohibits both of them from making changes to that file. Locking vs.NonlockingĪn important difference between Subversion and many other version control systems is that like CVS, Subversion’s mode of operation is nonlocking. Generally, you’ll check out a local working copy, make changes, and then commit those changes back into the central repository. You (and others) can interact with the repository in two different ways, either by checking out a particular revision of the versioned data into a local working copy or by acting directly on the repository itself, without the need for an intermediate working copy. There is a single central repository that holds all versions of each file that is under Subversion’s control. Along the way, I compare Subversion commands to the equivalent commands in other version control systems, such as CVS and Perforce.Ĭonceptually, Subversion’s design is similar to that of CVS. This chapter, begins with a simple overview of Subversion and then dives into the specifics you need to know to use the software. The workflow is quite similar to that of several other version control systems (notably CVS), so you shouldn’t have too much trouble transitioning to Subversion. If you can explain the svn:ignore property to me beyond what I’ve laid out here, please comment and educate me on setting properties on directories.If you’re already familiar with version control, Subversion is reasonably simple to use. So, what does this all come down to? Instead of using SVN for your version control, use Git and forget about keeping track of directories and starting thinking of your files. To see all of the ignore properties in your project, navigate to the root directory of your project and run the svn propget command like this: It worked for me…once…I haven’t been able to duplicate it. Then, enter ‘settings.php’ into the file, save and exit the file.įor some reason, to me this seems like a much clearer approach to ignoring files. Svn propedit lets you edit a file that contains ignore patterns for the directory you specify as the last argument in the svn propedit command.įor example, in your sites/ folder of your Drupal installation run this command: svn propedit svn:ignore default/ This is where svn propedit comes into play. I end up creating a slew of properties all over the repository and none of my files are ignored in version control or removed from the svn status list. įor some reason, this never works for me. So, in Drupal, to ignore your settings.php file, you navigate to the sites/default directory and run this command: svn propset svn:ignore "settings.php". svn propsetĪ typical command for ignoring a file in SVN is: svn propset svn:ignore That’s not how SVN properties work, though. To me, there should only be one parameter for ignoring a file, the file itself. I always have an extremely challenging time trying to ignore files in a Subversion repository.
0 Comments
Leave a Reply. |