Please review the procedures noted in our Conventions and Procedures thread to avoid making any serious mistakes when working with our repository. It's the last post in the thread:
http://www.alandfaraway.org/phpbbforum/ ... highlight=
As always, if you have any questions or wish to add/change anything, just let me know.
Thanks.
SVN procedures
Moderators: ALFA Administrators, Staff - Technical
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
FYI. I've made some administrative changes to subversion that everyone should be aware of.
1. Added a 10 character comment log minimum so users don't forget to write *something* when committing changes to the repository. Ok, ok...well maybe it's just there to remind ME...(shaddup)
2. Added keyword properties to all script files so that Revision and Date will auto update when changes are committed to the repository. This means that we no longer have to remember to increment rev numbers and dates each time we make a change - the system will now do it automatically for us. The rev number now simply corresponds to the current SVN REVISION number (a sequential integer which increments by 1 with each commit to the repository) that the change was made on, not a major.minor version that we typically see with software releases. It's sufficient for us to uniquely identify versions of individual files and that's what's important.
BTW, I had to expand the space in the "Date" keyword from 11 chars to 13 so date stamps would not truncate improperly. Just a heads up in case any of you are using the new script header template which incorporates the $Revision::$ and $Date::$ keywords. Also, if any of you come across a file which does not make use of the Date and Revision keywords, please add them (replace the static versions from the original header template).
3. Enabled auto-properties to apply important svn properties on file creation. Unfortunately, SVN does not manage this at the project level. It's handled at the user (client) level, so please update your SVN config file as follows (feel free to recommend additions to cover anything we may add to the repository now or later) - you get to the config file by navigating to the "TortoiseSVN -> Settings" option in the Windows cascading context menus then clicking on the EDIT button to the right of "Subversion configuration file":
Just copy and paste the above over your existing "[miscellany]" section.
These changes should take affect when you resync your working copies (SVN Update).
1. Added a 10 character comment log minimum so users don't forget to write *something* when committing changes to the repository. Ok, ok...well maybe it's just there to remind ME...(shaddup)
2. Added keyword properties to all script files so that Revision and Date will auto update when changes are committed to the repository. This means that we no longer have to remember to increment rev numbers and dates each time we make a change - the system will now do it automatically for us. The rev number now simply corresponds to the current SVN REVISION number (a sequential integer which increments by 1 with each commit to the repository) that the change was made on, not a major.minor version that we typically see with software releases. It's sufficient for us to uniquely identify versions of individual files and that's what's important.
BTW, I had to expand the space in the "Date" keyword from 11 chars to 13 so date stamps would not truncate improperly. Just a heads up in case any of you are using the new script header template which incorporates the $Revision::$ and $Date::$ keywords. Also, if any of you come across a file which does not make use of the Date and Revision keywords, please add them (replace the static versions from the original header template).
3. Enabled auto-properties to apply important svn properties on file creation. Unfortunately, SVN does not manage this at the project level. It's handled at the user (client) level, so please update your SVN config file as follows (feel free to recommend additions to cover anything we may add to the repository now or later) - you get to the config file by navigating to the "TortoiseSVN -> Settings" option in the Windows cascading context menus then clicking on the EDIT button to the right of "Subversion configuration file":
Code: Select all
### Section for configuring miscelleneous Subversion options.
[miscellany]
#### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
global-ignores = *.tmp *.~* *.*~
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
# use-commit-times = yes
### Set no-unlock to prevent 'svn commit' from automatically
### releasing locks on files.
# no-unlock = yes
### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
enable-auto-props = yes
### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
### file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?'). All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.
# Scriptish formats
*.bat = svn:eol-style=native; svn:keywords=Date Revision; svn-mine-type=text/plain
*.js = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/javascript
*.php = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/x-php
*.pl = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/x-perl; svn:executable
*.pm = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/x-perl
*.sh = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/x-sh; svn:executable
# Image formats
*.bmp = svn:mime-type=image/bmp
*.gif = svn:mime-type=image/gif
*.ico = svn:mime-type=image/ico
*.jpeg = svn:mime-type=image/jpeg
*.jpg = svn:mime-type=image/jpeg
*.png = svn:mime-type=image/png
*.tif = svn:mime-type=image/tiff
*.tiff = svn:mime-type=image/tiff
*.tga = svn:mime-type=image/tga
# Data formats
*.pdf = svn:mime-type=application/pdf
*.avi = svn:mime-type=video/avi
*.doc = svn:mime-type=application/msword
*.gz = svn:mime-type=application/gzip
*.mov = svn:mime-type=video/quicktime
*.mp3 = svn:mime-type=audio/mpeg
*.psd = svn:mime-type=application/photoshop
*.swf = svn:mime-type=application/x-shockwave-flash
*.tgz = svn:mime-type=application/gzip
*.wav = svn:mime-type=audio/wav
*.xls = svn:mime-type=application/vnd.ms-excel
*.zip = svn:mime-type=application/zip
*.mod = svn:mime-type=application/octet-stream
*.dlg = svn:mime-type=application/octet-stream
*.hak = svn:mime-type=application/octet-stream
*.fac = svn:mime-type=application/octet-stream
*.jrl = svn:mime-type=application/octet-stream
*.mus = svn:mime-type=application/octet-stream
*.are = svn:mime-type=application/octet-stream
*.ifo = svn:mime-type=application/octet-stream
*.itp = svn:mime-type=application/octet-stream
*.gre = svn:mime-type=application/octet-stream
*.gic = svn:mime-type=application/octet-stream
*.utc = svn:mime-type=application/octet-stream
*.utd = svn:mime-type=application/octet-stream
*.ute = svn:mime-type=application/octet-stream
*.uti = svn:mime-type=application/octet-stream
*.utm = svn:mime-type=application/octet-stream
*.utp = svn:mime-type=application/octet-stream
*.uts = svn:mime-type=application/octet-stream
*.utt = svn:mime-type=application/octet-stream
*.utw = svn:mime-type=application/octet-stream
# Text formats
.htaccess = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.css = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/css
*.html = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/html
*.ini = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.sql = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/x-sql
*.txt = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.xhtml = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/xhtml+xml
*.xml = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/xml
*.xsd = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/xml
*.xsl = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/xml
*.xslt = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/xml
CHANGES = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
COPYING = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
INSTALL = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
Makefile* = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
README = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
TODO = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
# Code formats
*.c = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.cpp = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.h = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.java = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plain
*.nss = svn:eol-style=native; svn:keywords=Date Revision; svn:mime-type=text/plainThese changes should take affect when you resync your working copies (SVN Update).
Cipher, what would you prefer we do about longer, NWN2 filenames? I'd like to alter the names of many scripts, which would make them incompatible with our NWN1 version of the ACR. Should we submit the NWN2-version of things in a new directory? We could make the change all at once, but unfortunately NWN2's current script compliler doesn't report errors so well 
- ç i p h é r
- Retired
- Posts: 2904
- Joined: Fri Oct 21, 2005 4:12 pm
- Location: US Central (GMT - 6)
I'd really rather not support/maintain two versions, resources being tight as they are. If we're not ready to declare NWN1 obsolete, then continue to use the lowest common denominator as the rule. So, if it's a file you want, or need, to share between NWN1 and NWN2, cap the filename to 16 characters (at least until NWN1 IS obsolete). If it's a file that won't be shared, use the full 32 characters.
Can you live with that?
Can you live with that?