You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(1) |
Mar
|
Apr
(3) |
May
(33) |
Jun
(44) |
Jul
(40) |
Aug
(23) |
Sep
(26) |
Oct
(41) |
Nov
(37) |
Dec
(42) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(40) |
Feb
(58) |
Mar
(81) |
Apr
(94) |
May
(77) |
Jun
(83) |
Jul
(55) |
Aug
(118) |
Sep
(51) |
Oct
(193) |
Nov
(77) |
Dec
(17) |
| 2005 |
Jan
(56) |
Feb
(87) |
Mar
(83) |
Apr
(155) |
May
(115) |
Jun
(157) |
Jul
(90) |
Aug
(87) |
Sep
(145) |
Oct
(56) |
Nov
(105) |
Dec
(88) |
| 2006 |
Jan
(56) |
Feb
(93) |
Mar
(30) |
Apr
(46) |
May
(46) |
Jun
(16) |
Jul
(33) |
Aug
(54) |
Sep
(47) |
Oct
(21) |
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
|
2
(1) |
3
(3) |
4
|
|
5
|
6
(2) |
7
(1) |
8
(1) |
9
(3) |
10
|
11
|
|
12
|
13
|
14
(1) |
15
(4) |
16
|
17
|
18
(1) |
|
19
(1) |
20
|
21
(1) |
22
(5) |
23
|
24
|
25
|
|
26
|
27
|
28
|
29
|
30
(1) |
31
(5) |
|
|
From: Harold L H. <hu...@st...> - 2006-03-31 23:21:34
|
Ugh, this is embarrassing: two bad patch sets in one day. When creating the BitKeeperHistoryParser.cs patch, I mistyped the diff command, overwriting the modified file with an empty file, thus producing a patch that just removes the contents of the file. I have fixed the patch. Additionally, I have actually tested it now and found that something changed in the way that things happen when no modifications are detected, which was causing a null object dereference in the BitKeeper code; I fixed this bug. I tested it on one of our production servers and everything seems fine now. Harold |
|
From: Harold L H. <hu...@st...> - 2006-03-31 20:01:43
|
Index: BitKeeperHistoryParserTest.cs
===================================================================
RCS file: /cvsroot/ccnet/ccnet/project/UnitTests/Core/SourceControl/BitKeeper/BitKeeperHistoryParserTest.cs,v
retrieving revision 1.4
diff -u -3 -r1.4 BitKeeperHistoryParserTest.cs
--- BitKeeperHistoryParserTest.cs 14 Nov 2005 04:23:41 -0000 1.4
+++ BitKeeperHistoryParserTest.cs 31 Mar 2006 19:55:24 -0000
@@ -10,6 +10,51 @@
public class BitKeeperHistoryParserTest
{
[Test]
+ public void ParseChangeSets()
+ {
+ BitKeeperHistoryParser parser = new BitKeeperHistoryParser();
+ Modification[] mods = parser.Parse(new StringReader(BitKeeperTestData.ChangeSetsBitKeeperOutput()), DateTime.Now, DateTime.Now);
+ Assert.AreEqual(2, mods.Length);
+
+ // Check specifics of the ChangeSet mod
+ Assert.AreEqual("user@host.(none)", mods[0].UserName);
+ Assert.AreEqual("Remove file in subdir.", mods[0].Comment);
+ Assert.AreEqual("ChangeSet", mods[0].Type);
+ Assert.AreEqual("ChangeSet", mods[0].FileName);
+ Assert.AreEqual("", mods[0].FolderName);
+ }
+
+ [Test]
+ public void ParseDeletions()
+ {
+ BitKeeperHistoryParser parser = new BitKeeperHistoryParser();
+ Modification[] mods = parser.Parse(new StringReader(BitKeeperTestData.DeletionsBitKeeperOutput()), DateTime.Now, DateTime.Now);
+ Assert.AreEqual(2, mods.Length);
+
+ // Check specifics of the Deleted mod
+ Assert.AreEqual("user@host.(none)", mods[1].UserName);
+ Assert.AreEqual("Delete: asubdir/baz.txt", mods[1].Comment);
+ Assert.AreEqual("Deleted", mods[1].Type);
+ Assert.AreEqual("baz.txt", mods[1].FileName);
+ Assert.AreEqual("asubdir", mods[1].FolderName);
+ }
+
+ [Test]
+ public void ParseAdditions()
+ {
+ BitKeeperHistoryParser parser = new BitKeeperHistoryParser();
+ Modification[] mods = parser.Parse(new StringReader(BitKeeperTestData.AdditionsBitKeeperOutput()), DateTime.Now, DateTime.Now);
+ Assert.AreEqual(2, mods.Length);
+
+ // Check specifics of the Added mod
+ Assert.AreEqual("user@host.(none)", mods[1].UserName);
+ Assert.AreEqual("BitKeeper file /var/lib/bk/demo/dev-1.0/asubdir/baz.txt", mods[1].Comment);
+ Assert.AreEqual("Added", mods[1].Type);
+ Assert.AreEqual("baz.txt", mods[1].FileName);
+ Assert.AreEqual("asubdir", mods[1].FolderName);
+ }
+
+ [Test]
public void ParseVerboseModifications()
{
BitKeeperHistoryParser parser = new BitKeeperHistoryParser();
@@ -17,7 +62,7 @@
Assert.AreEqual(19, mods.Length);
foreach (Modification mod in mods)
{
- Assert.AreEqual("hunth@survivor.(none)", mod.UserName);
+ Assert.AreEqual("user@host.(none)", mod.UserName);
Assert.IsNotNull("filename should not be null", mod.FileName);
}
}
@@ -30,111 +75,148 @@
Assert.AreEqual(7, mods.Length);
foreach (Modification mod in mods)
{
- Assert.AreEqual("hunth@survivor.(none)", mod.UserName);
+ Assert.AreEqual("user@host.(none)", mod.UserName);
Assert.IsNotNull("filename should not be null", mod.FileName);
+ Assert.AreEqual("ChangeSet", mod.Type);
}
}
private class BitKeeperTestData
{
+ public static string ChangeSetsBitKeeperOutput()
+ {
+ return @"ChangeSet
+ 1.6 05/10/06 12:58:40 user@host.(none) +1 -0
+ Remove file in subdir.
+
+ BitKeeper/deleted/.del-baz.txt~7545e8a43744d49
+ 1.2 05/10/06 12:58:27 user@host.(none) +0 -0
+ Delete: asubdir/baz.txt
+";
+ }
+
+ public static string DeletionsBitKeeperOutput()
+ {
+ return @"ChangeSet
+ 1.6 05/10/06 12:58:40 user@host.(none) +1 -0
+ Remove file in subdir.
+
+ BitKeeper/deleted/.del-baz.txt~7545e8a43744d49
+ 1.2 05/10/06 12:58:27 user@host.(none) +0 -0
+ Delete: asubdir/baz.txt
+";
+ }
+
+ public static string AdditionsBitKeeperOutput()
+ {
+ return @"ChangeSet
+ 1.5 05/10/06 12:58:11 user@host.(none) +1 -0
+ Another new one.
+
+ asubdir/baz.txt
+ 1.0 05/10/06 12:58:11 user@host.(none) +0 -0
+ BitKeeper file /var/lib/bk/demo/dev-1.0/asubdir/baz.txt
+";
+ }
+
public static string VerboseBitKeeperOutput()
{
return @"ChangeSet
- 1.6 05/10/06 12:58:40 hunth@survivor.(none) +1 -0
+ 1.6 05/10/06 12:58:40 user@host.(none) +1 -0
Remove file in subdir.
BitKeeper/deleted/.del-baz.txt~7545e8a43744d49
- 1.2 05/10/06 12:58:27 hunth@survivor.(none) +0 -0
+ 1.2 05/10/06 12:58:27 user@host.(none) +0 -0
Delete: asubdir/baz.txt
asubdir/baz.txt
- 1.1 05/10/06 12:58:11 hunth@survivor.(none) +1 -0
+ 1.1 05/10/06 12:58:11 user@host.(none) +1 -0
Another new one.
ChangeSet
- 1.5 05/10/06 12:58:11 hunth@survivor.(none) +1 -0
+ 1.5 05/10/06 12:58:11 user@host.(none) +1 -0
Another new one.
asubdir/baz.txt
- 1.0 05/10/06 12:58:11 hunth@survivor.(none) +0 -0
+ 1.0 05/10/06 12:58:11 user@host.(none) +0 -0
BitKeeper file /var/lib/bk/demo/dev-1.0/asubdir/baz.txt
ChangeSet
- 1.4 05/10/06 12:55:38 hunth@survivor.(none) +1 -0
+ 1.4 05/10/06 12:55:38 user@host.(none) +1 -0
Remove foo.txt.
BitKeeper/deleted/.del-foo.txt~8259385fddc312ca
- 1.2 05/10/06 12:55:24 hunth@survivor.(none) +0 -0
+ 1.2 05/10/06 12:55:24 user@host.(none) +0 -0
Delete: foo.txt
bar.txt
- 1.1 05/10/06 12:55:07 hunth@survivor.(none) +1 -0
+ 1.1 05/10/06 12:55:07 user@host.(none) +1 -0
Add another file.
ChangeSet
- 1.3 05/10/06 12:55:07 hunth@survivor.(none) +1 -0
+ 1.3 05/10/06 12:55:07 user@host.(none) +1 -0
Add another file.
bar.txt
- 1.0 05/10/06 12:55:07 hunth@survivor.(none) +0 -0
+ 1.0 05/10/06 12:55:07 user@host.(none) +0 -0
BitKeeper file /var/lib/bk/demo/dev-1.0/bar.txt
ChangeSet
- 1.2 05/10/06 12:53:09 hunth@survivor.(none) +1 -0
+ 1.2 05/10/06 12:53:09 user@host.(none) +1 -0
Add sample file.
foo.txt
- 1.1 05/10/06 12:52:55 hunth@survivor.(none) +1 -0
+ 1.1 05/10/06 12:52:55 user@host.(none) +1 -0
foo.txt
- 1.0 05/10/06 12:52:55 hunth@survivor.(none) +0 -0
+ 1.0 05/10/06 12:52:55 user@host.(none) +0 -0
BitKeeper file /var/lib/bk/demo/dev-1.0/foo.txt
ChangeSet
- 1.1 05/10/06 12:52:28 hunth@survivor.(none) +2 -0
+ 1.1 05/10/06 12:52:28 user@host.(none) +2 -0
Initial repository create
BitKeeper/etc/ignore
- 1.1 05/10/06 12:52:28 hunth@survivor.(none) +2 -0
+ 1.1 05/10/06 12:52:28 user@host.(none) +2 -0
BitKeeper/etc/config
- 1.1 05/10/06 12:52:28 hunth@survivor.(none) +22 -0
+ 1.1 05/10/06 12:52:28 user@host.(none) +22 -0
ChangeSet
- 1.0 05/10/06 12:52:28 hunth@survivor.(none) +0 -0
+ 1.0 05/10/06 12:52:28 user@host.(none) +0 -0
BitKeeper file /var/lib/bk/demo/dev-1.0/ChangeSet
BitKeeper/etc/ignore
- 1.0 05/10/06 12:52:28 hunth@survivor.(none) +0 -0
+ 1.0 05/10/06 12:52:28 user@host.(none) +0 -0
BitKeeper file /var/lib/bk/demo/dev-1.0/BitKeeper/etc/ignore
BitKeeper/etc/config
- 1.0 05/10/06 12:52:28 hunth@survivor.(none) +0 -0
+ 1.0 05/10/06 12:52:28 user@host.(none) +0 -0
BitKeeper file /var/lib/bk/demo/dev-1.0/BitKeeper/etc/config
";
}
public static string NonVerboseBitKeeperOutput()
{
- return @"ChangeSet@1.6, 2005-10-06 12:58:40-07:00, hunth@survivor.(none)
+ return @"ChangeSet@1.6, 2005-10-06 12:58:40-07:00, user@host.(none)
Remove file in subdir.
-ChangeSet@1.5, 2005-10-06 12:58:11-07:00, hunth@survivor.(none)
+ChangeSet@1.5, 2005-10-06 12:58:11-07:00, user@host.(none)
Another new one.
-ChangeSet@1.4, 2005-10-06 12:55:38-07:00, hunth@survivor.(none)
+ChangeSet@1.4, 2005-10-06 12:55:38-07:00, user@host.(none)
Remove foo.txt.
-ChangeSet@1.3, 2005-10-06 12:55:07-07:00, hunth@survivor.(none)
+ChangeSet@1.3, 2005-10-06 12:55:07-07:00, user@host.(none)
Add another file.
-ChangeSet@1.2, 2005-10-06 12:53:09-07:00, hunth@survivor.(none)
+ChangeSet@1.2, 2005-10-06 12:53:09-07:00, user@host.(none)
Add sample file.
-ChangeSet@1.1, 2005-10-06 12:52:28-07:00, hunth@survivor.(none)
+ChangeSet@1.1, 2005-10-06 12:52:28-07:00, user@host.(none)
Initial repository create
-ChangeSet@1.0, 2005-10-06 12:52:28-07:00, hunth@survivor.(none)
+ChangeSet@1.0, 2005-10-06 12:52:28-07:00, user@host.(none)
BitKeeper file /var/lib/bk/demo/dev-1.0/ChangeSet ";
}
}
|
|
From: Harold L H. <hu...@st...> - 2006-03-31 19:58:47
|
I made one mistake in the updated unit test: I expected '-1' for a return value when I would actually be returning '0'. I have attached a corrected patch for this. Harold |
|
From: Harold L H. <hu...@st...> - 2006-03-31 19:03:08
|
Owen and all, I sent the attached patches in before and you commented on how you should really refactor the build label to be an object instead of a string, etc. etc. Well, it has been six months and that has not happened. I have updated the patches and attached them to this message. Please consider applying them again. Your original reason for not being terribly interested in the patch was that not all build labels can be converted to numeric form and that there was a better way to do it, to which I have the following reply: 1) If the build label is not numeric in nature, then a user has no reason to use the CCNetNumericLabel variable/property at all. If they do, it doesn't throw an exception, it just returns "0". There is no danger to the population of babies if someone uses this accidentally. 2) Yes, it could be done much more cleanly (and it could take a lot longer to do it), but we have both had six months to do it and neither of us has. In closing, we are using this feature on all of our software builds that are run by CruiseControl.NET (currently 5 builds). We use this feature to patch the .rc VERSIONINFO structures, the installer, the about dialogs, etc. with the correct version data. Without this feature, we cannot patch all of these because NAnt does not have a powerful enough string processing feature and not all of these strings are able to be processed at runtime where we could extract the numeric label ourselves (e.g. the strings in the installer can't be modified at runtime, nor can the embedded VERSIONINFO resource). Currently I have to maintain and install a build of CruiseControl.NET that includes this feature; this makes me a danger to the stability of CruiseControl.NET since I'm the only one with the knowledge of this specific tweak. Please allow me to get hit by a bus by including this patch into the main releases so that my followers can simply install the latest build of CC.NET and have everything work. Have a nice day! Harold Original Message - 2005/09/12 ============================= The attached patch adds CCNetNumericLabel to the list of environment variables/properties that are exported to executable, nant, and msbuild tasks. The numeric label is only the numbers in the incrementing portion of the build. This feature is very useful to me because I use NAnt to substitute the build number into my WiX Toolset installer file and I need only the build number, not the prefix that goes along with it (I use a prefix that includes the branch name, which users don't need to see). For my user interface code, I was able to use a Regex at runtime to strip off just the build number from CCLabel, but the WiX script has no such facility, so it is much easier to have this available as a distinct property. I didn't patch the documentation because it isn't clear to me if the stuff in doc/CCNET is hand-crafted or auto-generated. In either case, please point me in the correct direction so that I can generate a doco patch. Harold |
|
From: William P. <wcp...@gm...> - 2006-03-31 16:46:31
|
I was trying out CC.Net against our Perforce source control provider.=20 Everything worked fine until CC issued the 'sync' command which began syncing the entire repository, not just the project specified in the 'View' parameter. I added support to P4.CreateSyncCommandLine() to limit to the view(s) specified in the configuration. Also updated the unit tests to accommodate the new view parameter and for multi-line views. I've never contributed to an OS project so I hope I've followed the correct protocols (and that my contribution is accurate :) For future reference, are there any naming conventions for patch files? -Bill |
|
From: Michael L. <Mic...@ta...> - 2006-03-30 23:05:13
|
The pvcs block is hardcoded to call get.exe when changes are detected.
I think it should be calling pcli.exe. Here is my project
configuration:
<project name=3D"AutoBuild Test V1.0 Trunk">
<state type=3D"state" directory=3D"D:\artifacts\AutoBuild Test V1.0
Trunk\state" />
<workingDirectory>D:\AutoBuild Test V1.0 Trunk\</workingDirectory>
<artifactDirectory>D:\artifacts\AutoBuild Test V1.0
Trunk\</artifactDirectory>
=20
<webURL>http://localhost/ccnet/default.aspx?_action_ViewProjectReport=3Dt=
r
ue&server=3Dlocal&project=3DAutoBuild+Test+V1.0+Trunk</webURL>=20
<modificationDelaySeconds>60</modificationDelaySeconds>
<sourcecontrol type=3D"pvcs">=20
<executable>C:\Program
Files\Merant\vm\win32\bin\pcli.exe</executable>=20
<project>\\VCS\Product Development\AutoBuild Test V1.0\AutoBuild
Test V1.0 Trunk</project>=20
<subproject>/source</subproject>=20
</sourcecontrol>
<triggers>
<intervalTrigger seconds=3D"120"/>
<scheduleTrigger time=3D"5:00" buildCondition=3D"ForceBuild"/>
<!-- 5am everyday -->
<scheduleTrigger time=3D"13:00" buildCondition=3D"ForceBuild"/>
<!-- 1pm everyday -->
</triggers>
<tasks>
<nant>
<executable>C:\Program Files\NAnt\bin\nant.exe</executable>
<baseDirectory>D:\AutoBuild Test V1.0 Trunk\</baseDirectory>
<buildArgs>-D:includeDoc=3Dtrue</buildArgs>
<nologo>false</nologo>
<buildFile>D:\AutoBuild Test V1.0
Trunk\default.build</buildFile>
<targetList>
<target>package</target>
</targetList>
<buildTimeoutSeconds>300</buildTimeoutSeconds>
</nant>
</tasks>
<publishers>
<xmllogger>
<logDir>D:\artifacts\AutoBuild Test V1.0
Trunk\website\log</logDir>
</xmllogger>
<email from=3D"bui...@do..." =
mailhost=3D"smtp.domain.com"
includeDetails=3D"TRUE">
<projectUrl>http://localhost/ccnet</projectUrl>
<users>
<user name=3D"Mike" group=3D"buildmaster"
address=3D"mi...@do..."/>
</users>
<groups>
<group name=3D"developers" notification=3D"change"/>
<group name=3D"buildmaster" notification=3D"always"/>
</groups>
</email>
</publishers>
</project>
Here is my error from the log file:
- <exception>
- <![CDATA[ ThoughtWorks.CruiseControl.Core.CruiseControlException:
Source control operation failed: '"C:\Program
Files\Merant\vm\win32\bin\Get.exe"' is not recognized as an internal or
external command,
operable program or batch file.
. Process command: cmd.exe /c c:\temp\tmpC0B.cmd
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execu
te(ProcessInfo processInfo)
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.ExecuteNonPvcsFunctio
n(String content)
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.ExecutePvcsGet(String
Dictionary folders)
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.GetSource(IIntegratio
nResult result)
at
ThoughtWorks.CruiseControl.Core.IntegrationRunner.RunIntegration(BuildCo
ndition buildCondition)
]]>=20
</exception>
I tried to fix it, but I don't know the system well enough, or pvcs for
that matter. I tried to update protected void
ExecutePvcsGet(StringDictionary folders){...} from:
string dir =3D Path.GetDirectoryName(Executable);
content.AppendFormat("\"{0}\\Get.exe\" -W -Y -xo\"{2}\" -xe\"{3}\"
@\"{4}\"\r{5}", dir, LogFile, ErrorFile, TempFile, Environment.NewLine);
to:
string dir =3D Path.GetDirectoryName(Executable);
string exe =3D Path.GetFileNameWithoutExtension(Executable);
content.AppendFormat("\"{0}\\{1}.exe\" -W -Y -xo\"{2}\" -xe\"{3}\"
@\"{4}\"\r{5}", dir, exe, LogFile, ErrorFile, TempFile,
Environment.NewLine);
Error is now:
- <exception>
- <![CDATA[ ThoughtWorks.CruiseControl.Core.CruiseControlException:
Source control operation failed: Merant Version Manager (PCLI) v8.0.0.2
(Build 483) for Windows NT/80x86
Copyright 1985-2003 Merant. All rights reserved.
. Process command: cmd.exe /c c:\temp\tmpD90.cmd
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execu
te(ProcessInfo processInfo)
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.ExecuteNonPvcsFunctio
n(String content)
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.ExecutePvcsGet(String
Dictionary folders)
at
ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.GetSource(IIntegratio
nResult result)
at
ThoughtWorks.CruiseControl.Core.IntegrationRunner.RunIntegration(BuildCo
ndition buildCondition)
]]>=20
</exception>
Does anyone know what the problem is?
Mike
|
|
From: Perry I. <ism...@gm...> - 2006-03-22 16:58:13
|
On 3/22/06, Owen Rogers <exo...@gm...> wrote: > > hi steve, > > On 22/03/06, Stephen Tunney <st...@re...> wrote: > > I'd like to be able to configure the outgoing emails for builds as high > > importance on some of the projects when they fail or are exceptional. > > > > Is this functionality desired by anyone else? +1 that seems reasonable and pretty straightforward to implement. please > feel free to log an issue on jira for it. my only consideration is > whether or not it should be configurable -- ie. whether or not some > users will not want this functionality. +1 for it to be an additional attribute rather than the default. -- Perry Ismangil |
|
From: Owen R. <exo...@gm...> - 2006-03-22 16:13:58
|
hi steve, On 22/03/06, Stephen Tunney <st...@re...> wrote: > I'd like to be able to configure the outgoing emails for builds as high > importance on some of the projects when they fail or are exceptional. > > Is this functionality desired by anyone else? that seems reasonable and pretty straightforward to implement. please feel free to log an issue on jira for it. my only consideration is whether or not it should be configurable -- ie. whether or not some users will not want this functionality. cheers, owen. -- Owen Rogers | http://dotnetjunkies.com/weblog/exortech | CruiseControl.NET - http://ccnet.thoughtworks.com |
|
From: Owen R. <exo...@gm...> - 2006-03-22 16:11:00
|
hi brenton, On 22/03/06, Brenton House <cs...@gi...> wrote: > Is there an issue with using the DateLabeller and having your state > files in a directory other than the default? there shouldn't be. when you look at your state file, what is the value of the <LastSuccessfulIntegrationLabel> element? cheers, owen. -- Owen Rogers | http://dotnetjunkies.com/weblog/exortech | CruiseControl.NET - http://ccnet.thoughtworks.com |
|
From: Brenton H. <cs...@gi...> - 2006-03-22 15:46:17
|
There seems to be an issue with DateLabeller when we stop and restart the ccnet service. Is there an issue with using the DateLabeller and having your state files in a directory other than the default? Thanks! Brenton House 3/22/2006 10:44:20 AM: [Hermod:Error]: INTERNAL ERROR: Version string portion was too short or too long. ---------- System.ArgumentException: Version string portion was too short or too long. at System.Version..ctor(String version) at ThoughtWorks.CruiseControl.Core.Label.DateLabeller.Generate(IIntegrationResult resultFromLastBuild) in C:\ccnet\downloads\CruiseControl.NET-1.0.1.source\project\core\label\DateLabeller.cs:line 23 at ThoughtWorks.CruiseControl.Core.IntegrationResultManager.StartNewIntegration(BuildCondition buildCondition) in C:\ccnet\downloads\CruiseControl.NET-1.0.1.source\project\core\IntegrationResultManager.cs:line 42 at ThoughtWorks.CruiseControl.Core.IntegrationRunner.RunIntegration(BuildCondition buildCondition) in C:\ccnet\downloads\CruiseControl.NET-1.0.1.source\project\core\IntegrationRunner.cs:line 24 at ThoughtWorks.CruiseControl.Core.Project.RunIntegration(BuildCondition buildCondition) in C:\ccnet\downloads\CruiseControl.NET-1.0.1.source\project\core\Project.cs:line 159 at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Integrate() in C:\ccnet\downloads\CruiseControl.NET-1.0.1.source\project\core\ProjectIntegrator.cs:line 126 ---------- |
|
From: Stephen T. <st...@re...> - 2006-03-22 15:30:57
|
I'd like to be able to configure the outgoing emails for builds as high importance on some of the projects when they fail or are exceptional. =20 Is this functionality desired by anyone else? =20 Steve |
|
From: <thi...@gm...> - 2006-03-21 13:16:39
|
For those who want to dig into that topic and see if it would be interestin= g to use windows workflow in ccnet : http://www.theserverside.net/articles/showarticle.tss?id=3DManageAppProcess= es cheers Thibaut -- [blog] http://www.dotnetguru2.org/tbarrere |
|
From: David C. <da...@gm...> - 2006-03-19 08:01:55
|
I get two failing tests when I run the unit tests through the NUnit-gui.
ShouldPassAppropriateDefaultPropertiesAsProcessInfoArgumentsToProcessExecut=
or
and
ShouldPutQuotesAroundBuildFileIfItContainsASpace
fail because the expected directories are "c:\dir with spaces" while
the actuals are "c:\source".
The problem seems to be stale data persisting between tests in the
DefaultWorkingDirectory field on ProcessExecutorTestFixtureBase.
There's a simple patch (below and attached) to fix these failures, but
several other tests inherit from the base and could have the same
problem.
Also, I'm wondering if the problem is even reproducible on anyone else's sy=
stem.
Dave
Index: project/UnitTests/Core/Tasks/NAntTaskTest.cs
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/ccnet/ccnet/project/UnitTests/Core/Tasks/NAntTaskTest.cs=
,v
retrieving revision 1.12
diff -u -r1.12 NAntTaskTest.cs
--- project/UnitTests/Core/Tasks/NAntTaskTest.cs=0915 Aug 2005 11:13:12 -00=
00=091.12
+++ project/UnitTests/Core/Tasks/NAntTaskTest.cs=0919 Mar 2006 07:47:12 -00=
00
@@ -19,6 +19,7 @@
=09=09[SetUp]
=09=09public void SetUp()
=09=09{
+=09=09=09DefaultWorkingDirectory =3D @"c:\source\";
=09=09=09CreateProcessExecutorMock(NAntTask.DefaultExecutable);
=09=09=09builder =3D new NAntTask((ProcessExecutor) mockProcessExecutor.Mo=
ckInstance);
=09=09=09result =3D IntegrationResult();
|
|
From: Perry I. <ism...@gm...> - 2006-03-18 12:23:22
|
On 3/15/06, Perry Ismangil <ism...@gm...> wrote: > > On 3/15/06, Owen Rogers <exo...@gm...> wrote: > > my apologies. i'm working on some core changes to ccnet and this one > > slipped through the unit tests (due to some interesting challenges in > > unit testing multiple threads). i've just checked in a fix for it and > > verified that it works. if you haven't already patched this, the > > latest ccnetlive builds should do the trick. > > cheers, > > > Ian, Owen, The latest build works well for our purpose. Thanks for all the great work. -- Perry Ismangil |
|
From: Perry I. <ism...@gm...> - 2006-03-15 20:40:48
|
On 3/15/06, Owen Rogers <exo...@gm...> wrote: > my apologies. i'm working on some core changes to ccnet and this one > slipped through the unit tests (due to some interesting challenges in > unit testing multiple threads). i've just checked in a fix for it and > verified that it works. if you haven't already patched this, the > latest ccnetlive builds should do the trick. > cheers, > owen. Thanks, Owen, I do have one more build server on a remote location to upgrade I'll tell them to use this build instead. -- Perry Ismangil |
|
From: Owen R. <exo...@gm...> - 2006-03-15 17:38:11
|
hi perry, On 15/03/06, Perry Ismangil <ism...@gm...> wrote: > OK, I traced it to : > http://cvs.sourceforge.net/viewcvs.py/ccnet/ccnet/project/core/ProjectInt= egrator.cs?r1=3D1.21&r2=3D1.22 > > So this is part of "introducing IntegrationRequest work", and around line= 116/121 in the above diff : > > IntegrationRequest temp =3D request; > request =3D null; > > So > > integratable.Integrate(request); > > is working with null. > > I guess I will have to retrieve a pre-integrationrequest work buildlabel = from cvs and backport Ian's changes to it. my apologies. i'm working on some core changes to ccnet and this one slipped through the unit tests (due to some interesting challenges in unit testing multiple threads). i've just checked in a fix for it and verified that it works. if you haven't already patched this, the latest ccnetlive builds should do the trick. cheers, owen. -- Owen Rogers | http://dotnetjunkies.com/weblog/exortech | CruiseControl.NET - http://ccnet.thoughtworks.com |
|
From: Perry I. <ism...@gm...> - 2006-03-15 10:40:19
|
OK, I traced it to : http://cvs.sourceforge.net/viewcvs.py/ccnet/ccnet/project/core/ProjectInteg= rator.cs?r1=3D1.21&r2=3D1.22 So this is part of "introducing IntegrationRequest work", and around line 116/121 in the above diff : IntegrationRequest temp =3D request; request =3D null; So integratable.Integrate(request); is working with null. I guess I will have to retrieve a pre-integrationrequest work buildlabel from cvs and backport Ian's changes to it. On 3/15/06, Perry Ismangil <ism...@gm...> wrote: > > > Currently trawling ccnetlive buildlogs but if anyone know anything > important like config file format changes, please shout. Basically I need > 1.1.x because I want to get Vault 3.1.7 enhancements. 2206 ran fine, > except for an assertion box that holds up the build. Ian has now changed > that in 2231. However using the exact same config that was in general > working, when I fire up build 2231 (with the logging set to debug): > > [Project1:ERROR] INTERNAL ERROR: Object reference not set to an instance > of an object. > ---------- > System.NullReferenceException: Object reference not set to an instance of > an obj > ect. > at ThoughtWorks.CruiseControl.Core.Project.Integrate(IntegrationReques= t > reque > st) > at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Integrate() > > Any ideas welcome! > > -- > Perry Ismangil -- Perry Ismangil |
|
From: Perry I. <ism...@gm...> - 2006-03-15 10:06:33
|
Currently trawling ccnetlive buildlogs but if anyone know anything importan= t like config file format changes, please shout. Basically I need 1.1.xbecause I want to get Vault 3.1.7 enhancements. 2206 ran fine, except for an assertion box that holds u= p the build. Ian has now changed that in 2231. However using the exact same config that was in general working, when I fire up build 2231 (with the logging set to debug): [Project1:ERROR] INTERNAL ERROR: Object reference not set to an instance of an object. ---------- System.NullReferenceException: Object reference not set to an instance of a= n obj ect. at ThoughtWorks.CruiseControl.Core.Project.Integrate(IntegrationRequest reque st) at ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Integrate() Any ideas welcome! -- Perry Ismangil |
|
From: <thi...@gm...> - 2006-03-14 09:53:54
|
Hi, just a word of feedback: I've switched my customer from VSS to Surround, no= w relying on CCNet build 1.0.2.1283, and the support for branches seems to work perfectly so far! cheers Thibaut -- [blog] http://www.dotnetguru2.org/tbarrere |
|
From: Campbell, C. <Cra...@na...> - 2006-03-09 16:42:31
|
Sorry for the new email address. I changed jobs a few months ago.
I believe the correct way to fix the issue is to make the control remove
all selected rather than removing them one at a time.
Replace:
private void btnRemove_Click(object sender, EventArgs e)
{
lvProjects.Items.RemoveAt(selectedIndex);
}
With:
private void btnRemove_Click(object sender, EventArgs e)
{
foreach (ListViewItem item in lvProjects.SelectedItems)
{
lvProjects.Items.Remove(item);
}
}=20
Unless of course it needs to only remove one at a time (which I find
very irritating, especially if you have more than a few projects to
remove).
--Craig
-----Original Message-----
From: ccn...@li...
[mailto:ccn...@li...] On Behalf Of
Strickland,David
Sent: Thursday, March 09, 2006 8:08 AM
To: 'ccn...@li...'=20
Subject: [Ccnet-devel] CCTray Exception Setting unable to handle
multiple selections.
I assume this is already a known issue but. In order for this example to
work You ned more then 2 projects registered with CCtray.
In CCTray=20
click File - > Settings
In the listbox of Projects.
Select the First Project in the LIst
Hold down the Ctrl Key. And Select the Second Project in the List.
Now with 2 Items selected Click remove Once.
The First Item in the list is removed as expected and 1 item should
remain selected which is now the first Item in the list.
Now select Remove a second time.=20
This is where the error occurs.
On my version of CCTray (1.0.1 I believe) After clicking remove a second
time the second Item in the list is removed. However this item is not
the one that is selected.
Click remove again
same thing will happen the second Item disappears leaving the first Item
selected and untouched.=20
If you keep clicking remove until only one Item remains the following
exception will be raised.
System.ArgumentOutOfRangeException: InvalidArgument=3DValue of '1' is =
not
valid for 'index'.
Parameter name: index
at
System.Windows.Forms.ListView.ListViewItemCollection.RemoveAt(Int32
index)
at
ThoughtWorks.CruiseControl.CCTrayLib.Presentation.CCTrayMultiSettingsFor
m.bt
nRemove_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.WndProc(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
Probably the easiest fix is to disable multiple selection. Since you
have to click remove once for every item in the list anyway.
Dave
The information contained in this message is confidential, protected
from disclosure and may be legally privileged. If the reader of this
message is not the intended recipient or an employee or agent
responsible for delivering this message to the intended recipient, you
are hereby notified that any disclosure, distribution, copying, or any
action taken or action omitted in reliance on it, is strictly prohibited
and may be unlawful. If you have received this communication in error,
please notify us immediately by replying to this message and destroy the
material in its entirety, whether in electronic or hard copy format.
Thank you.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting
language that extends applications into web and mobile media. Attend the
live webcast and join the prime developer group breaking into this new
coding territory!
http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D110944&bid=3D241720&dat=3D=
121642
_______________________________________________
Ccnet-devel mailing list
Ccn...@li...
https://lists.sourceforge.net/lists/listinfo/ccnet-devel
|
|
From: Owen R. <exo...@gm...> - 2006-03-09 16:38:48
|
hi david, On 09/03/06, Strickland,David <dst...@mn...> wrote: > I assume this is already a known issue but. In order for this example to > work You ned more then 2 projects registered with CCtray. i've captured this in issue: http://jira.public.thoughtworks.org/browse/CCNET-665 cheers, owen. -- Owen Rogers | http://dotnetjunkies.com/weblog/exortech | CruiseControl.NET - http://ccnet.thoughtworks.com |
|
From: Strickland,David <dst...@mn...> - 2006-03-09 15:08:53
|
I assume this is already a known issue but. In order for this example to work You ned more then 2 projects registered with CCtray. In CCTray click File - > Settings In the listbox of Projects. Select the First Project in the LIst Hold down the Ctrl Key. And Select the Second Project in the List. Now with 2 Items selected Click remove Once. The First Item in the list is removed as expected and 1 item should remain selected which is now the first Item in the list. Now select Remove a second time. This is where the error occurs. On my version of CCTray (1.0.1 I believe) After clicking remove a second time the second Item in the list is removed. However this item is not the one that is selected. Click remove again same thing will happen the second Item disappears leaving the first Item selected and untouched. If you keep clicking remove until only one Item remains the following exception will be raised. System.ArgumentOutOfRangeException: InvalidArgument=Value of '1' is not valid for 'index'. Parameter name: index at System.Windows.Forms.ListView.ListViewItemCollection.RemoveAt(Int32 index) at ThoughtWorks.CruiseControl.CCTrayLib.Presentation.CCTrayMultiSettingsForm.bt nRemove_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) Probably the easiest fix is to disable multiple selection. Since you have to click remove once for every item in the list anyway. Dave The information contained in this message is confidential, protected from disclosure and may be legally privileged. If the reader of this message is not the intended recipient or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any disclosure, distribution, copying, or any action taken or action omitted in reliance on it, is strictly prohibited and may be unlawful. If you have received this communication in error, please notify us immediately by replying to this message and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. |
|
From: Nathan W. <fac...@fa...> - 2006-03-08 19:30:14
|
Nathan Walp wrote:
> Owen Rogers wrote:
> <snip>
>> one thing to try, if you don't mind hacking the code (which you don't
>> seem to :) ), is to change line 42 of the ProcessExecutor to:
>>
>> return new ProcessResult(standardOutput.Output,
>> standardError.Output, process.ExitCode, true);
>>
>> this will mean that ccnet will not report on sourcecontrol timeouts.
>> it may turn out that mono is returning false from the WaitForExit
>> method even though the process has finished running.
>>
>> depending on the results, let's move future discussion of this over to
>> the ccnet-devel list.
>
> I did better than that, and based on the debug logging I inserted, its
> apparent that WaitForExit on mono will occasionally return false
> immediately, rather than waiting for the specified timeout.
>
> I'll talk to the appropriate mono folk. Thanks for your help.
It turns out WaitForExit(timeout) returns false immediately, but
process.HasExited is true. My local running copy now looks like:
using (ProcessReader standardOutput = new
ProcessReader(process.StandardOutput), standardError = new
ProcessReader(process.StandardError))
{
WriteToStandardInput(process, processInfo);
bool hasExited = process.WaitForExit(processInfo.TimeOut);
if(!hasExited && process.HasExited) {
Log.Error("Process has not exited according to WaitForExit, but has
according to process.HasExited");
hasExited = process.HasExited;
}
...
and I have quit getting subversion timeouts. I don't know if you think
changes like this are worth committing upstream or not.
-Nathan
|
|
From: Stephen T. <st...@re...> - 2006-03-07 19:57:51
|
Hello All,
=20
I'm running CCNet 1.1.0.2202, and I've been running into a problem,
where I integrate bug fixes from one branch to another (using Perforce's
integrate via filespec method), and CCNet detects the changes, even
posts the changes in the logs, but fails to actually sync the build
sandbox to the head revision.
=20
I believe that this situation is only happening for a changelist with
only integrations in it, as I have seen build successfully created when
an add or delete or change has been performed.
=20
Thanks,
Stephen Tunney
________________________________
From: ccn...@li...
[mailto:ccn...@li...] On Behalf Of Ruben
Willems
Sent: March 3, 2006 1:56 AM
To: ccn...@li...
Subject: Re: [Ccnet-devel] Showing Ncover Results is to slow because of
large file, please help
=20
Hi Owen
I'll try it, but this means that the standard Ncover result file=20
should be changed/replaced in the web config file, right?
Is this going to be effective ?
--> Currently the NCover file is XML,
so preprocessing it to another XML file, what can the benefit be?
I know a bit of XML (general knowledge), but I do not see the size gain.
--> I can see a performance gain, if all calculations are already done
(sum, count, ...)
But the data file will still be the same size (roughly), or not?
In the assumption that you keep the current detail level, if you would
skip to=20
just the methods and their percentages covered, and not the individual
lines of the=20
methods, than you can indeed gain a lot.=20
Maybe this is a solution :
for the 1.1 release :
- foresee an NCover overview (preprocessed to the methods and their
percentages)
- foresee a zipped file of the full NCover file (should be possible with
artifact management)
--> this can than be used by the developper for the detail analysis
(NCover Explorer)
What do you think?
On 3/3/06, Owen Rogers <exo...@gm...> wrote:
hi ruben,
On 02/03/06, Ruben Willems <rub...@gm...> wrote:
> I am now doing NCover on a large project, for the moment I have
90+tests (a
> lot more to come),=20
> which are also NCovered. The problem is that the NCover file is
already
> 30MB.
> The final will be easily be 10 times bigger. making 300+ MB.
better artifact management is part of the plan for the 1.1 release.
it will hopefully give us the ability to throw away the current hacky
approach of merging everything into the log file. mike's the one
who's been working on it so far.
but until then, the best option is probably try preprocessing the=20
ncover file (ie. apply the stylesheet), save the transformed results
(ideally as xml) and then merge the results into the ccnet log file.
cheers,
owen
--
Owen Rogers | http://dotnetjunkies.com/weblog/exortech |
CruiseControl.NET - http://ccnet.thoughtworks.com
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting
language
that extends applications into web and mobile media. Attend the live
webcast
and join the prime developer group breaking into this new coding
territory!=20
http://sel.as-us.falkag.net/sel?cmdlnk&kid=110944&bid$1720&dat=121642
<http://sel.as-us.falkag.net/sel?cmdlnk&kid%110944&bid$1720&dat%121642>=20
_______________________________________________=20
Ccnet-devel mailing list
Ccn...@li...
https://lists.sourceforge.net/lists/listinfo/ccnet-devel=20
=20
|
|
From: Rob C. <rob...@gm...> - 2006-03-06 17:47:28
|
I've been doing some work lately with CCTray, mostly trying to get the = X10 integration working correctly. I has not been easy, mostly because of = the weak serial port IO libraries built pre-.net v2. The two existing = libraries keep crashing on me. Now, the way CCTray is designed (IMHO) doesn=92t lend to extending it = very easily. I have been trying to integrate nicely with CVS & CCTray with little luck building and having a somewhat reliable method for testing = my additions. It has not been a very nice experience. So I started to deviate a bit. I have a solid prototype put together = which includes a plugin-framework that allows developers to simply drop in = DLL's into a plugins folder. Once the new DLL is added the tray automatically discovers any "plug-ins" and adds them to the interface and status = change notifications. Integration with the server is done via scraping HTTP and parsing the content. (ugly, but it works). I was wondering if there is any current work happening with regards to exposing the data on the dashboard/the remoting channel via = REST/SOAP/XML? Any thoughts on doing this? It would make tool development so much = easier. Thanks! Rob Chartier http://weblogs.asp.net/rchartier Microsoft MVP ASP/ASP.NET ASPInsider --=20 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.375 / Virus Database: 268.2.0/275 - Release Date: 3/6/2006 =20 |