From TortoiseSVN:
At revision: 62
post-commit hook failed (exit code 5000) with output:
Subversion Notify error.
Please have your administrator check the log for details on how to correct the issue
Here the log File
[01.04.2009 14:33:18] *************************
[01.04.2009 14:33:18] Starting process for Revision 63 [C:\Repositories\test]
[01.04.2009 14:33:18] Configuration file deserialized. Logging level set to: DEBUG
[01.04.2009 14:33:18] SubversionNotify, Version=1.4.5.3, Culture=neutral, PublicKeyToken=null
[01.04.2009 14:33:18] Processing type: post-commit
[01.04.2009 14:33:18] InfoHeader :: Raw Header message - uwe
2009-04-01 14:33:18 +0200 (Mi, 01 Apr 2009)
0
[01.04.2009 14:33:18] System.NullReferenceException: Object reference not set to an instance of an object.
at SubversionNotify.HTMLProcessor.GleenBugNumbers(String message, subversionNotifyConfig cfg)
at SubversionNotify.HTMLProcessor.InfoHeader(List`1 fileList, String& simpleHeader, List`1& bugNumbers, String& htmlCommitMessage, String& textCommitMessage)
at SubversionNotify.HTMLProcessor.ProcessMessage()
at SubversionNotify.Program.PostCommitProcessing(HTMLProcessor proc, subversionNotifyConfig cfg, String logFileName, String baseFolder)
at SubversionNotify.Program..ctor(String repository, String revision, ProcessType prePost)
at SubversionNotify.Program.Main(String[] args)
Provided Arguments: C:\Repositories\test 63 -post
[01.04.2009 14:33:18] c:\Programme\VisualSVN_Server\addon\SubversionNotify.log
Subversion Notify error.
Please have your administrator check the log for details on how to correct the issue
Here the "SubversionNotify.cfg"
xml version="1.0" encoding="utf-8" standalone="yes"?>
<subversionNotifyConfig xmlns="http://www.mckechney.com/SubversionNotifyConfig.xsd" LoggingLevel="DEBUG" MaximumEMailSizeInMb="5" MaximumEmailSubjectChars="255">
<!-- Basic configuration of where to locate the SVN executables -->
<SVNConfig ExePath="c:\Programme\VisualSVN_Server\bin\svnlook.exe" />
<!-- Configure your mail server. Needed for e-mail notifications -->
<MailServer Name="mail.myserver.com" Username="" Password="" EMailSubjectTag="""" ADGlobalCatalog="""" FromAddress="svn@myserver.com"></MailServer>
<!-- Register repositories and repo paths to be controlled in one of these sections. -->
<RepoPathConfig ControlledPaths="/Test" ControlledRepos="c:\Repositories">
<!-- You can send one or more e-mail messages to a single recipient or a group of recipients-->
<MailTo EMailGroupName="Developers" EMailType="Simple" EMailSuppressionChar="~" CustomSubjectFormat="#user# - #filenames#" />
<MailTo EMailGroupName="Managers" EMailAddress="testmail@gmx.net" EMailType="HTML" />
<!-- In case you want to, you can add a default log message that will get added if no other message is included by the user -->
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order." />
<!-- This section and its children control the pre-commit checks you specify-->
<CommitRequirements FailureMessage="A Change Request was not specified. Please add required tag to the commit message">
<!-- If you want to enforce the type, length and/or content of a commit message to ensure it meets your standards, add a "CommitRequirement" -->
<CommitRequirement Description="Change Request Number" Regex="\[c?r? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\-?T?\]" />
<CommitRequirement Description="Merge" Regex="\[merge\]" SecondaryRegex=".+ from .+ revision \d+.to.\d+" SecondaryRegexFailureMsg="A merge requires both the source path and revision numbers specified\n(ex: "[merge] from 081Q revision 30 to 31")" />
<CommitRequirement Description="New Branch" Regex="\[New Branch\]" />
<CommitRequirement Description="Internal" Regex="\[Internal\]" />
<!-- Allow the committing of certain file types only if a special tag is added to the commit message. This prevents inadvertant updating of "important" files-->
<FileTypeTagCheck Description="Project Files" Regex="\[Add Project File\]" FailureMessage="When committing .csproj files, you must specify a [Add Project File] tag.\nIf no meaningful changes we made, please Revert the file." FileExtension=".csproj" />
<!-- Specifically exclude some files from ever getting addedd, updated or deleted (as per ControlledActionType)-->
<FileTypeExclusion Description="Local Files" FileExtension=".local" ControlledActionType="AddUpdate" />
<FileTypeExclusion Description="User Files" FileExtension=".user" ControlledActionType="All" />
<FileTypeExclusion Description="Personal Solution Files" FileExtension=".suo" ControlledActionType="Add" />
<FileTypeExclusion Description="Source Safe ControlFiles" FileExtension=".scc" ControlledActionType="AddUpdate" />
<FileTypeExclusion Description="Temporary Files" FileNameRegex="\w*\.~\w*" FailureMessage="Commits of history/backup files of the format 'name.~ext' are not allowed." />
<!-- Specificaly exclude files that exist in certain folder structures. -->
<FolderNameExclusion Description="Binary folder" FolderName="bin" ControlledActionType="Delete" />
<FolderNameExclusion Description="Object folder" FolderName="obj" ControlledActionType="All" />
</CommitRequirements>
<!-- If you registered item tracker handler above, this is where you add them. Remember, the handler must implement the IItemTracker interface
as specified in SubversionNotify.Integration.ItemTracking.dll -->
<ItemTrackers>
<QualityCenterConfig ItemFindRegex="\[t?d? ?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" ItemTableName="databasename.tablename">
<DbConnection UserName="username" Password="password" sid="sidname" />
<AllowedProducts>
<AllowedProduct Name="Product2" />
</AllowedProducts>-->
<DisallowedStatuses><DisallowedStatus Name="Closed" RepoPathException="Test" /><DisallowedStatus Name="Fixed" RepoPathException="" /></DisallowedStatuses><LockedItems><Item ItemId="6104" /><Item ItemId="3002" /><Item ItemId="4002" /></LockedItems></QualityCenterConfig>
<RallyConfig ItemFindRegex="\[t?a? ?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" ItemType="Task" WorkspaceName="WS1" IncludeParentItemSummary="true">
<WebServiceConnection URL="https://10.2.111.5:443/slm/webservice/1.05/RallyService" UserName="yZptbWeXsjS7tBvSHnxf8Aio51g9xQLXfzJ3cGfQNmI=" Password="tBFogQ9xMiBuTIxi5c5nLg==" />
<AllowedProducts>
<AllowedProduct Name="Prod1" />
</AllowedProducts>
<DisallowedStatuses>
<DisallowedStatus Name="Completed" />
</DisallowedStatuses>
</RallyConfig>
<BugzillaConfig XmlReturnURL="http://mydomain.com/bugzilla/show_bug.cgi?id={0}&ctype=xml" ItemLinkURL="http://mydomain.com/bugzilla/show_bug.cgi?id={0}" ItemFindRegex="\[b?u?g? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]">
<AllowedProducts>
<AllowedProduct Name="ProductOne" />
</AllowedProducts>
<DisallowedStatuses>
<DisallowedStatus Name="CLOSED" RepoPathException="Test" UserException="mmckechney,user2" />
<DisallowedStatus Name="RESOLVED" RepoPathException="" />
</DisallowedStatuses>
<LockedItems>
<Item ItemId="1000" />
<Item ItemId="1002" />
<Item ItemId="1002" />
</LockedItems>
</BugzillaConfig>
</ItemTrackers>
<execute application="pathtwo.bat" commandline="#revision# #name# #controlledpaths#" />
</RepoPathConfig>
<!-- An example of a second, less controlled path-->
<RepoPathConfig ControlledPaths="/pcanlight_jni" ControlledRepos="c:\Repositories">
<MailTo EMailGroupName="Developers,Managers" EMailType="Simple" />
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order." />
<CommitRequirements FailureMessage="Please add a commit message">
<CommitRequirement Description="Any Text" Regex="\w" />
</CommitRequirements>
</RepoPathConfig>
<!-- If there are paths you want to lock against any changes, you can control that from here-->
<LockedPaths>
<LockedPath RepoPath="/prslg3" ControlledRepos="c:\Repositories" />
</LockedPaths>
<!-- Implementing the pre-prop-change hook, this enforces that the changed message meets you standards -->
<PrePropChangeRequirements FailureMessage="A revision comment may only be changed if it includes a Change Request number. Please add [CR ###] to the changed message.">
<PrePropChangeRequirement Description="Bug Number" Regex="\[c?r? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" IsBugMatch="true" />
</PrePropChangeRequirements>
<PreCommitFailureMessage>
<MailTo EMailAddress="u.wilhelm@peak-system.com" EMailGroupName="Developers" CustomSubjectFormat="[SVN Precommit Failure] #user# :: #commitMessage#" />
</PreCommitFailureMessage>
<!-- One or more of these, you can set up re-usable distribution lists.
The Name attribute value is what you use as the EMailGroup value up in the MailTo element-->
<EMailGroup Name="Developers">
<EMail Address="developer1@myserver.com" />
</EMailGroup>
<EMailGroup Name="Managers">
<EMail Address="manager1@myserver.com" />
</EMailGroup>
</subversionNotifyConfig>
Many thanks
Regards
Uwe
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Uwe,
This error was fixed in a newer version of Subversion Notify. The tool is currently in version 2.0.9 and is much more stable than the version you are using. Please note though, between the 1.4.* and 2.* versions there are breaking changes in the XML schema for the config file. There are complete upgrade instructions available on www.SubversionNotify.com to walk you through the changes.
If you have any questions or issues, please let me know!
Cheers,
Mike
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
does anybody have a solution for this error:
From TortoiseSVN:
At revision: 62
post-commit hook failed (exit code 5000) with output:
Subversion Notify error.
Please have your administrator check the log for details on how to correct the issue
Here the log File
[01.04.2009 14:33:18] *************************
[01.04.2009 14:33:18] Starting process for Revision 63 [C:\Repositories\test]
[01.04.2009 14:33:18] Configuration file deserialized. Logging level set to: DEBUG
[01.04.2009 14:33:18] SubversionNotify, Version=1.4.5.3, Culture=neutral, PublicKeyToken=null
[01.04.2009 14:33:18] Processing type: post-commit
[01.04.2009 14:33:18] InfoHeader :: Raw Header message - uwe
2009-04-01 14:33:18 +0200 (Mi, 01 Apr 2009)
0
[01.04.2009 14:33:18] System.NullReferenceException: Object reference not set to an instance of an object.
at SubversionNotify.HTMLProcessor.GleenBugNumbers(String message, subversionNotifyConfig cfg)
at SubversionNotify.HTMLProcessor.InfoHeader(List`1 fileList, String& simpleHeader, List`1& bugNumbers, String& htmlCommitMessage, String& textCommitMessage)
at SubversionNotify.HTMLProcessor.ProcessMessage()
at SubversionNotify.Program.PostCommitProcessing(HTMLProcessor proc, subversionNotifyConfig cfg, String logFileName, String baseFolder)
at SubversionNotify.Program..ctor(String repository, String revision, ProcessType prePost)
at SubversionNotify.Program.Main(String[] args)
Provided Arguments: C:\Repositories\test 63 -post
[01.04.2009 14:33:18] c:\Programme\VisualSVN_Server\addon\SubversionNotify.log
Subversion Notify error.
Please have your administrator check the log for details on how to correct the issue
Here the "SubversionNotify.cfg"
xml version="1.0" encoding="utf-8" standalone="yes"?>
<subversionNotifyConfig xmlns="http://www.mckechney.com/SubversionNotifyConfig.xsd" LoggingLevel="DEBUG" MaximumEMailSizeInMb="5" MaximumEmailSubjectChars="255">
<!-- Basic configuration of where to locate the SVN executables -->
<SVNConfig ExePath="c:\Programme\VisualSVN_Server\bin\svnlook.exe" />
<!-- Configure your mail server. Needed for e-mail notifications -->
<MailServer Name="mail.myserver.com" Username="" Password="" EMailSubjectTag="""" ADGlobalCatalog="""" FromAddress="svn@myserver.com"></MailServer>
<!-- Register repositories and repo paths to be controlled in one of these sections. -->
<RepoPathConfig ControlledPaths="/Test" ControlledRepos="c:\Repositories">
<!-- You can send one or more e-mail messages to a single recipient or a group of recipients-->
<MailTo EMailGroupName="Developers" EMailType="Simple" EMailSuppressionChar="~" CustomSubjectFormat="#user# - #filenames#" />
<MailTo EMailGroupName="Managers" EMailAddress="testmail@gmx.net" EMailType="HTML" />
<!-- In case you want to, you can add a default log message that will get added if no other message is included by the user -->
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order." />
<!-- This section and its children control the pre-commit checks you specify-->
<CommitRequirements FailureMessage="A Change Request was not specified. Please add required tag to the commit message">
<!-- If you want to enforce the type, length and/or content of a commit message to ensure it meets your standards, add a "CommitRequirement" -->
<CommitRequirement Description="Change Request Number" Regex="\[c?r? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\-?T?\]" />
<CommitRequirement Description="Merge" Regex="\[merge\]" SecondaryRegex=".+ from .+ revision \d+.to.\d+" SecondaryRegexFailureMsg="A merge requires both the source path and revision numbers specified\n(ex: "[merge] from 081Q revision 30 to 31")" />
<CommitRequirement Description="New Branch" Regex="\[New Branch\]" />
<CommitRequirement Description="Internal" Regex="\[Internal\]" />
<!-- Allow the committing of certain file types only if a special tag is added to the commit message. This prevents inadvertant updating of "important" files-->
<FileTypeTagCheck Description="Project Files" Regex="\[Add Project File\]" FailureMessage="When committing .csproj files, you must specify a [Add Project File] tag.\nIf no meaningful changes we made, please Revert the file." FileExtension=".csproj" />
<!-- Specifically exclude some files from ever getting addedd, updated or deleted (as per ControlledActionType)-->
<FileTypeExclusion Description="Local Files" FileExtension=".local" ControlledActionType="AddUpdate" />
<FileTypeExclusion Description="User Files" FileExtension=".user" ControlledActionType="All" />
<FileTypeExclusion Description="Personal Solution Files" FileExtension=".suo" ControlledActionType="Add" />
<FileTypeExclusion Description="Source Safe ControlFiles" FileExtension=".scc" ControlledActionType="AddUpdate" />
<FileTypeExclusion Description="Temporary Files" FileNameRegex="\w*\.~\w*" FailureMessage="Commits of history/backup files of the format 'name.~ext' are not allowed." />
<!-- Specificaly exclude files that exist in certain folder structures. -->
<FolderNameExclusion Description="Binary folder" FolderName="bin" ControlledActionType="Delete" />
<FolderNameExclusion Description="Object folder" FolderName="obj" ControlledActionType="All" />
</CommitRequirements>
<!-- If you registered item tracker handler above, this is where you add them. Remember, the handler must implement the IItemTracker interface
as specified in SubversionNotify.Integration.ItemTracking.dll -->
<ItemTrackers>
<QualityCenterConfig ItemFindRegex="\[t?d? ?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" ItemTableName="databasename.tablename">
<DbConnection UserName="username" Password="password" sid="sidname" />
<AllowedProducts>
<AllowedProduct Name="Product2" />
</AllowedProducts>-->
<DisallowedStatuses><DisallowedStatus Name="Closed" RepoPathException="Test" /><DisallowedStatus Name="Fixed" RepoPathException="" /></DisallowedStatuses><LockedItems><Item ItemId="6104" /><Item ItemId="3002" /><Item ItemId="4002" /></LockedItems></QualityCenterConfig>
<RallyConfig ItemFindRegex="\[t?a? ?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" ItemType="Task" WorkspaceName="WS1" IncludeParentItemSummary="true">
<WebServiceConnection URL="https://10.2.111.5:443/slm/webservice/1.05/RallyService" UserName="yZptbWeXsjS7tBvSHnxf8Aio51g9xQLXfzJ3cGfQNmI=" Password="tBFogQ9xMiBuTIxi5c5nLg==" />
<AllowedProducts>
<AllowedProduct Name="Prod1" />
</AllowedProducts>
<DisallowedStatuses>
<DisallowedStatus Name="Completed" />
</DisallowedStatuses>
</RallyConfig>
<BugzillaConfig XmlReturnURL="http://mydomain.com/bugzilla/show_bug.cgi?id={0}&ctype=xml" ItemLinkURL="http://mydomain.com/bugzilla/show_bug.cgi?id={0}" ItemFindRegex="\[b?u?g? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]">
<AllowedProducts>
<AllowedProduct Name="ProductOne" />
</AllowedProducts>
<DisallowedStatuses>
<DisallowedStatus Name="CLOSED" RepoPathException="Test" UserException="mmckechney,user2" />
<DisallowedStatus Name="RESOLVED" RepoPathException="" />
</DisallowedStatuses>
<LockedItems>
<Item ItemId="1000" />
<Item ItemId="1002" />
<Item ItemId="1002" />
</LockedItems>
</BugzillaConfig>
</ItemTrackers>
<execute application="pathtwo.bat" commandline="#revision# #name# #controlledpaths#" />
</RepoPathConfig>
<!-- An example of a second, less controlled path-->
<RepoPathConfig ControlledPaths="/pcanlight_jni" ControlledRepos="c:\Repositories">
<MailTo EMailGroupName="Developers,Managers" EMailType="Simple" />
<DefaultLogMessage Text="#user# has decided not to add a log message. Don't worry, severe punishment will be administered in short order." />
<CommitRequirements FailureMessage="Please add a commit message">
<CommitRequirement Description="Any Text" Regex="\w" />
</CommitRequirements>
</RepoPathConfig>
<!-- If there are paths you want to lock against any changes, you can control that from here-->
<LockedPaths>
<LockedPath RepoPath="/prslg3" ControlledRepos="c:\Repositories" />
</LockedPaths>
<!-- Implementing the pre-prop-change hook, this enforces that the changed message meets you standards -->
<PrePropChangeRequirements FailureMessage="A revision comment may only be changed if it includes a Change Request number. Please add [CR ###] to the changed message.">
<PrePropChangeRequirement Description="Bug Number" Regex="\[c?r? ?#?([0-9]+(?:\s*,?\s*[0-9]+)*)\]" IsBugMatch="true" />
</PrePropChangeRequirements>
<PreCommitFailureMessage>
<MailTo EMailAddress="u.wilhelm@peak-system.com" EMailGroupName="Developers" CustomSubjectFormat="[SVN Precommit Failure] #user# :: #commitMessage#" />
</PreCommitFailureMessage>
<!-- One or more of these, you can set up re-usable distribution lists.
The Name attribute value is what you use as the EMailGroup value up in the MailTo element-->
<EMailGroup Name="Developers">
<EMail Address="developer1@myserver.com" />
</EMailGroup>
<EMailGroup Name="Managers">
<EMail Address="manager1@myserver.com" />
</EMailGroup>
</subversionNotifyConfig>
Many thanks
Regards
Uwe
Hello Uwe,
This error was fixed in a newer version of Subversion Notify. The tool is currently in version 2.0.9 and is much more stable than the version you are using. Please note though, between the 1.4.* and 2.* versions there are breaking changes in the XML schema for the config file. There are complete upgrade instructions available on www.SubversionNotify.com to walk you through the changes.
If you have any questions or issues, please let me know!
Cheers,
Mike
Hi Mike,
Sorry - my fault - i have copy the EXE for some test - and override the 2.x version :-(
Now it works fine!
Many thanks for this great Tool!
Uwe