<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Build / Release</title>
        <link>http://geekswithblogs.net/emanish/category/3810.aspx</link>
        <description>For .Net Platform
Using Tools MSBuild, CC.Net, NAnt, FxCop, NDoc, NUnit, etc.
</description>
        <language>en-US</language>
        <copyright>Manish Agrawal</copyright>
        <managingEditor>emanish@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>March 19th: Posts I liked</title>
            <link>http://geekswithblogs.net/emanish/archive/2008/03/18/120629.aspx</link>
            <description>&lt;p&gt;Inspired by Scott Gu, I also felt the need of blogging the Links/BlogPosts I liked:&lt;/p&gt;
&lt;p&gt;** March 19th is the date in "my" context and not that of posts I refer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Build &amp;amp; Release Automation (it is on top priorities in my list of personal project development)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;&lt;a href="http://msdn2.microsoft.com/hi-in/magazine/cc337886(en-us).aspx"&gt;CI Server: Redefine Your Build Process with Continous Integration&lt;/a&gt;: &lt;/strong&gt;Jay Flowers has written an excellent article on CI and about his tool CI Factory. I think Jay Flower has some similar thinking process I do, CI Factory has almost the same features and has been built upon using CruiseControl.Net as base reference, which even I was doing. The way he has written the title of the article with use of many Upper Case words, also seems to be a matching pattern. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SharePoint (MOSS)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://www.cleverworkarounds.com/2008/02/22/selling-moss-the-moral-of-the-story/"&gt;&lt;strong&gt;Selling MOSS (The moral of the story):&lt;/strong&gt;&lt;/a&gt; Paul has written an excellent post, he has covered many aspects of proposing a technology and its implementation... &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt; Silverlight&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com/silverlight/overview/streaming.aspx"&gt;Microsoft Silverlight Streaming Service&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/03/18/iis-7-0-bit-rate-throttling-module-released.aspx"&gt;&lt;strong&gt;IIS 7.0 Bit Rate Throttling Module Released&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;: &lt;/strong&gt;by Scott Guthrie&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;.Net&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://blogs.zdnet.com/open-source/?p=2128"&gt;&lt;strong&gt;Mono project releases first IDE, Mono 2.0 into beta&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;: &lt;/strong&gt;by Dana Blankenhorn &amp;amp; Paula Rooney&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.monodevelop.com/Documentation"&gt;&lt;span style="font-weight: bold;"&gt;MonoDevelop Documentation&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;--Manish&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=120629"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=120629" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/120629.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2008/03/18/120629.aspx</guid>
            <pubDate>Tue, 18 Mar 2008 20:16:39 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/120629.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2008/03/18/120629.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/120629.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/120629.aspx</trackback:ping>
        </item>
        <item>
            <title>Configuration Environment Architecture</title>
            <link>http://geekswithblogs.net/emanish/archive/2007/09/26/115650.aspx</link>
            <description>&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;a name="_Toc96316906"&gt;&lt;span style="FONT-SIZE: 14pt; BACKGROUND-COLOR: #f3f3f3"&gt;&lt;font color="#285090"&gt;Overview&lt;/font&gt;&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Based on experience, as well an industry acceptance that development teams are construction driven and are always less focused to Software Process. This has been identified and henceforth the inspiration behind the proposed architecture, as a remedy, by keeping build management beyond developer’s domain. &lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;Modern configuration environment is getting complex due to rising nature of applications to be distributed whereby they are dependent on their functionality on other applications. Such scenarios create enough complications of version control and matching, resulting in dire need of dedicated build management system integrated with the said configuration environment. Henceforth, in the proposed recommendations for Configuration Environment Architecture, Build Manager is an integral entity serving various requirements of configuration control, process and management.&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;img alt="Configuration Environment Architecture" src="http://emanish.googlepages.com/ConfigEnvArch.png" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="FONT-SIZE: 10pt"&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;Every file is compiled, linked, and combined into an executable program every day, and the program is then put through a "smoke test", a relatively simple check to see whether the product "smokes" when it runs. Project Server/Manager gets early notification of “smoke”. This simple process produces several significant benefits. &lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;It minimizes integration risk.&lt;/strong&gt; One of the greatest risks that a team project faces is that, when the different team members combine or "integrate" the code they have been working on separately, the resulting composite code does not work well. Depending on how late in the project the incompatibility is discovered, debugging might take longer than it would have if integration had occurred earlier, program interfaces might have to be changed, or major parts of the system might have to be redesigned and re-implemented. The daily build and smoke test process keeps integration errors small and manageable, and it prevents runaway integration problems. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;It reduces the risk of low quality.&lt;/strong&gt; Related to the risk of unsuccessful or problematic integration is the risk of low quality. By minimally smoke-testing all the code daily, quality problems are prevented from taking control of the project. You bring the system to a known, good state, and then you keep it there. You simply don't allow it to deteriorate to the point where time-consuming quality problems can occur. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;It supports easier defect diagnosis.&lt;/strong&gt; When the product is built and tested every day, it's easy to pinpoint why the product is broken on any given day. If the product worked on Day 17 and is broken on Day 18, something that happened between the two builds broke the product. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;It improves morale.&lt;/strong&gt; Seeing a product work provides an incredible boost to morale. With daily builds, a bit more of the product works every day, and that keeps morale high. &lt;/li&gt;
&lt;/ul&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316907"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Development Teams&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;This is a group of roles directly involved in construction and development; constituting of designers, architects, developers etc. &lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;img alt="DevelopmentEnvironment" src="http://emanish.googlepages.com/DevelopmentEnvironment.png" /&gt;&lt;/div&gt;
&lt;span&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316908"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Source Server&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;Source Server is the source-code repository for version-control. This is the server that is the feeding ground for day-to-day development across projects. Suggestively, this isn’t just a single version-control, but could be a group based on implementation and process management requirements. &lt;/div&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316909"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Project Server&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;Project Server is the hosting environment for latest / recent builds submitted by Build Server. This environment is in feedback-loop with Build Manager, whereby each scheduled build is notified of its success status and possibly even hosted on the Project Server to re-affirm the changes being expected in respective build. This ensures early notification of broken integration, and hence early rectification. &lt;/div&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316910"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Build Server (Build Manager)&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;This is a Build Management repository, ideal for continuous-integration, smoke testing etc., engaged in continuous and scheduled build management. Notably, this runs on a scheduler which extracts source from Source Server and builds in its environment, mostly resulting in binaries. Resulting builds are versioned and stored on its version-control environment. This not only reduces integration risks of Source Server, but also facilitates early notification to project team of broken integration-builds. Ideally, this is closely controlled and managed by Build Manager. &lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;Build Manager could be a Toolset, Process or a group of role, based on technical feasibility of the environment and platform. The capabilities expected are: &lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div style="MARGIN: 6pt 0in 0pt 1in; TEXT-INDENT: -0.25in"&gt;Create, Version and Deploy builds &lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div style="MARGIN: 6pt 0in 0pt 1in; TEXT-INDENT: -0.25in"&gt;Notify various managers of build availability and their status. &lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;Initial look at Build Manager might seem like a management over-head, but it goes a long way in segregation of Development, Testing, and Project Management. The intent is to automate most notification and build management tasks. Build deployment on various life-cycle servers could possibly be manually controlled. &lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;There are various advantages of separating Build Server and Source Server in the life-cycle and running scheduled builds: &lt;/div&gt;
&lt;div style="MARGIN: 3pt 0in 3pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;1.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;Static Code-Analysis&lt;/strong&gt;: While generating scheduled builds, source-code could be statically analyzed and reports be made available to Project Team of the issues there-in, reducing code-review and feedback timelines and dramatically enhancing code-quality. &lt;/div&gt;
&lt;div style="MARGIN: 3pt 0in 3pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;2.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;Code Documentation&lt;/strong&gt;: Source-Code documentation can be generated for each corresponding build and versioned along-with. This shall ensure that we have actual mapping of source-code vis-à-vis source documentation. Availability of CHM/HTML docs for each version shall be a boon for developer/project-team reference. Project Manager can henceforth manage/ensure duly documentation. &lt;/div&gt;
&lt;div style="MARGIN: 3pt 0in 3pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;3.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;No dependency on Development Team for builds&lt;/strong&gt;: There shall be no need for Binary builds to be provided by development teams. &lt;/div&gt;
&lt;div style="MARGIN: 3pt 0in 3pt 0.5in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;4.&lt;span style="FONT: 7pt 'Times New Roman'"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;Focused teams, enhanced productivity&lt;/strong&gt;: Clear segregation of tasks, and letting development team focus on construction rather than process life-cycle shall enhance productivity. &lt;/div&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316911"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Test Server &amp;amp; Test Virtual Machines&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;font size="2"&gt;It is the hosting environment for selective builds hosted by Build Manager, based on build notification received by Project Manager or based on the defined process. This environment is not just a single box to host applications, but also constituted of Test Virtual Machines to support varied configurations required for testing.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt; &lt;img alt="TestEnvironment" src="http://emanish.googlepages.com/TestEnvironment.png" /&gt;&lt;/div&gt;
&lt;span style="FONT-SIZE: 12pt"&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316912"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Stage Server&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;font size="2"&gt;Successful builds are notified by Test Manager to Build Manager, which are henceforth deployed on staging based on corresponding process definitions &amp;amp; program manager requirements. Prime subscriber’s of this environment is Program Manager or Customer. &lt;/font&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt; &lt;img alt="StageEnvironment" src="http://emanish.googlepages.com/StageEnvironment.png" /&gt;&lt;/div&gt;
&lt;span&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316913"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Production Server&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;font size="2"&gt;Customer or Program Manager approved builds are deployed or provided in Production by Build Manager.&lt;/font&gt;&lt;/div&gt;
&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;div style="MARGIN: 24pt 0in 12pt; TEXT-INDENT: 0in"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;a name="_Toc96316913"&gt;&lt;font color="#285090" size="3"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;Proper setup of Configuration Environment as per this recommended architecture and with implementation of Build Management System, will not only reduce complexities of application distribution and release management, but will also help in controlling versions of release and will automatically setup an environment which will directly put processes in place thus making releases absolutely reliable and fail-proof.&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;
&lt;div style="MARGIN: 6pt 0in 0pt"&gt;&lt;font size="2"&gt;References: Cod&lt;font size="2"&gt;e Complete, 2&lt;sup&gt;nd&lt;/sup&gt; ed., Steve McConnell and Article by Sharad Kumar&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115650"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115650" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/115650.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2007/09/26/115650.aspx</guid>
            <pubDate>Wed, 26 Sep 2007 13:28:17 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/115650.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2007/09/26/115650.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/115650.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/115650.aspx</trackback:ping>
        </item>
        <item>
            <title>How To RSS Subversion Change Log</title>
            <link>http://geekswithblogs.net/emanish/archive/2007/05/21/112634.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.feed-squirrel.com/index.cfm?evt=viewFeed&amp;amp;feedID=884"&gt;Brain Ritchie&lt;/a&gt; has written an excellent post mentioning the steps to RSS enable your Subversion Change Log. You can check it &lt;a href="http://www.feed-squirrel.com/index.cfm?evt=viewItem&amp;amp;ID=39461"&gt;here&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Thanks Brain and Martin Pittenauer for your contribution.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112634"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=112634" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/112634.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2007/05/21/112634.aspx</guid>
            <pubDate>Mon, 21 May 2007 05:13:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/112634.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2007/05/21/112634.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/112634.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/112634.aspx</trackback:ping>
        </item>
        <item>
            <title>Issue Trackers</title>
            <link>http://geekswithblogs.net/emanish/archive/2007/04/02/110564.aspx</link>
            <description>&lt;P&gt;&lt;A href="http://usefulinc.com/edd/blog"&gt;Edd Dumbill&lt;/A&gt;&amp;nbsp;has done excellent work by listing out the Issue Trackers with&amp;nbsp;some details &lt;A href="http://usefulinc.com/edd/notes/IssueTrackers"&gt;here&lt;/A&gt;. This is very helpful in deciding to go with which Issue Tracker.&lt;/P&gt;
&lt;P&gt;Thanks Edd.. nice list, keep it updating..&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110564"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110564" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/110564.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2007/04/02/110564.aspx</guid>
            <pubDate>Mon, 02 Apr 2007 18:40:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/110564.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2007/04/02/110564.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/110564.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/110564.aspx</trackback:ping>
        </item>
        <item>
            <title>How to use Subversion more effectively with proper Repository Structure and better use of Branching/Tagging/Versioning..</title>
            <link>http://geekswithblogs.net/emanish/archive/2006/09/25/92219.aspx</link>
            <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In this article, I have assumed that the reader is aware of the basic functionality of Subversion. This article has been written to make the usage of Subversion more efficient and more effective, as not much information is available on this subject in context of Subversion.&lt;/P&gt;
&lt;P&gt;Although&amp;nbsp;most of the things are already mentioned in the Subversion Documentation, but going through such vast information in one go becomes something uncommon. So it is good to have small articles targetting a specific feature which can expose the functionality and will get the attention. Without even any extra effort it gets feeded in mind, making understanding of the subject better.&lt;/P&gt;
&lt;P&gt;I installed Subversion and started using it, but I started getting problems in maintenance when the code base spreaded and required maintenance of multiple versions.&lt;/P&gt;
&lt;P&gt;To find the solution I studied the documentation available, to use Subversion(SVN) more effectively. One of the important things I read was about "What should be the ideal Repository Structure":&lt;/P&gt;
&lt;P&gt;So lets understand the options available:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Versioning&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;In this article I have followed&lt;STRONG&gt; Major.Minor.Build.Revision &lt;/STRONG&gt;versioning practice&amp;nbsp;which is very&amp;nbsp;standard, details of&amp;nbsp;it are as under: &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;In this version number is physically represented as a four-part string with the following format: &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;I&gt;major&lt;/I&gt;&amp;gt;.&amp;lt;&lt;I&gt;minor&lt;/I&gt;&amp;gt;.&amp;lt;&lt;I&gt;build&amp;gt;&lt;/I&gt;.&amp;lt;&lt;I&gt;revision&lt;/I&gt;&amp;gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;For example, version 1.5.60204.0 indicates 1 as the major version, 5 as the minor version, 60204 as the build&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; number, and 0 as the revision number. 
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Major: &lt;/B&gt;Major releases introduce major new technologies and changes that render previous production releases obsolete. 
&lt;LI&gt;&lt;B&gt;Minor: &lt;/B&gt;Minor releases depict feature level enhancements. Addition of features between releases result in incremented minor release. 
&lt;LI&gt;&lt;B&gt;Build: &lt;/B&gt;This is auto-generated number, assigned for each build on a day basis. It has YMMDD format, So Feb 04&lt;SUP&gt;th&lt;/SUP&gt; 2006 shall be 60204. &lt;B&gt;&lt;BR&gt;&lt;/B&gt;&lt;U&gt;Note&lt;/U&gt;: Build number for revisions (read bug-fixes to production releases) shall remain same as originally released in production. 
&lt;LI&gt;&lt;B&gt;Revision: &lt;/B&gt;This is reset to zero, for each new major/minor version released. For all later bug-fixes, patches to releases that reach production, this number shall sequentially increment.&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;Trunk&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Trunk is the main branch of development.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;Branch&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Isolating changes onto a separate line of development is called Branching. Branches are used to try out new feature without disturbing the main line of development. And as the new feature&amp;nbsp;becomes stable the development branch is merged back into the main branch (trunk).&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;Tag&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Tagging is to mark particular revisions (e.g. release version), so that you can recreate a certain build or environment at any time. Tags are used to create a static snapshot of the project at a particular stage. Tagging of the project is mostly done along with the successful build and generally it is done by the&amp;nbsp;automated build process.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Important Note:&lt;/STRONG&gt;&amp;nbsp;Subversion itself makes no distinction between tags and branches, but they are there for different purpose. Tags are&amp;nbsp;not normally used for development, Branches must be used for that purpose. So working on a tag revision is not a good idea. So you must remember this as there is nothing to stop you doing this by mistake. However there are few SVN-Client Applications (like TortoiseSVN) which will warn you if you try to commit to a path in the repository which contains /tags/. But I am not sure about other SVN-Clients.&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://emanish.googlepages.com/Repository_Struc_Expanded2.PNG"&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Figure 1: Example of a Subversion Repository Structure (expanded).&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Branching or Tagging done by Subversion are just internal links (cheap copies)&amp;nbsp;pointing to a specific tree/revision and thus can be created very quickly and also take up almost no extra space in the repository. If you modify a working copy created from a branch and commit , then all changes go to the new branch and not to the trunk. Only&amp;nbsp;the modifications are stored and the rest remains a cheap copy.&lt;/P&gt;
&lt;P&gt;Many times it may happen that you need to make further changes to a release which has been already tagged. The correct way to handle this is to create a new branch from the tag first and commit the branch. Make Changes on this branch and&amp;nbsp;tag the branch for&amp;nbsp;every build with increment in the Revision number. &lt;/P&gt;
&lt;P&gt;So finally "What should be the ideal Repository Structure"&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Following folder/directories must be created, all at the repository root level:&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;/trunk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;LI&gt;/branches&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;LI&gt;/tags&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;How to make the Repository Structure:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Do SVN Checkout to a new folder. 
&lt;LI&gt;Create the folder /trunk inside the root repository folder. 
&lt;LI&gt;Create the folder&amp;nbsp;/branches inside the root repository folder. 
&lt;LI&gt;Create the folder&amp;nbsp;/tags inside the root repository folder. 
&lt;LI&gt;Copy the project files (which are to be Source Controlled) in the /trunk folder. 
&lt;LI&gt;Add the files and folder to SVN and do SVN Commit. 
&lt;LI&gt;Create a Branch with Major and Minor mentioned in the branch name for e.g. "v1_0_X" &lt;FONT color=#ff0080&gt;**&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT color=#ff0080&gt;&lt;FONT color=#444444&gt;Now you can delete the new folder from your machine (not from SVN) as it is now saved in SVN.&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;LI&gt;Checkout the newly created branch. Now you can start working on this.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;If you need to make further changes to a release which has been already tagged, following steps must be followed:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Checkout the tagged revision to a new folder. 
&lt;LI&gt;Create a new Branch from the checkedout project. 
&lt;LI&gt;Switch the working copy to new Branch (or in simple words Delete the just created new folder and checkout the new branch to a new folder.)&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;For e.g.&amp;nbsp; Suppose you need to make further changes to a release tagged "v1_0_60924_0". Steps will be as under:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Checkout the tag "v1_0_60924_0" to a new folder say "C:\HelloWorld_temp". 
&lt;LI&gt;Create a new branch "v1_0_60924_X" &lt;FONT color=#ff0080&gt;***&lt;/FONT&gt;&amp;nbsp;by giving the command from within the above folder. 
&lt;LI&gt;Switch the working copy: 
&lt;UL&gt;
&lt;LI&gt;Deleting the "C:\HelloWorld_temp" folder. 
&lt;LI&gt;Checkout the branch "v1_0_60924_0" to a&amp;nbsp;folder "C:\Projects\HelloWorld".&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#ff0080&gt;**&lt;/FONT&gt; Branch name v1_0_X dissected:&amp;nbsp;"v" represents the word "Version", "1" is Major,&amp;nbsp;"0" is Minor and "X"&amp;nbsp;is to indicate&amp;nbsp;that along with the changes (or during the Build process)&amp;nbsp;Tags will be created with&amp;nbsp;dynamic Build and Revision numbers, for e.g. "v1_0_60923_0" here 60923 is the Build&amp;nbsp;Number which represents the date of build (6 is the year 2006, 09 is the Month and 23 is the Date), after Build Number there comes the Revision&amp;nbsp;Number which will&amp;nbsp;get incremented with every next build during the day.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0080&gt;***&lt;/FONT&gt; In case of already tagged release Branch name used is "v1_0_60924_X" because for further builds on this Branch only revision number will get incremented. Mostly this happens when a Build is released or finalized to be released, then for bug-fixes and patches to be release the Build number is freezed and only Revision number changes.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=92219"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=92219" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/92219.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2006/09/25/92219.aspx</guid>
            <pubDate>Mon, 25 Sep 2006 13:23:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/92219.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2006/09/25/92219.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/92219.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/92219.aspx</trackback:ping>
        </item>
        <item>
            <title>How To: Install the Subversion SVN (HTTP Module/Server/Client) on Windows</title>
            <link>http://geekswithblogs.net/emanish/archive/2006/06/14/81905.aspx</link>
            <description>&lt;DIV&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;Download the binaries&lt;/B&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;For Server machine:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Go to the &lt;/FONT&gt;&lt;A href="http://httpd.apache.org/download.cgi"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;Apache download page&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt; and download the version (apache_2.0.54-win32-x86-no_ssl.msi) of Apache web server. I tried downloading some latest versions also but faced few issues in installation, so I continued with version &lt;/FONT&gt;&lt;A href="http://www.devlib.org/apache/httpd/binaries/win32/apache_2.0.54-win32-x86-no_ssl.msi"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;2.0.54&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Go to the &lt;/FONT&gt;&lt;A href="http://svn1clicksetup.tigris.org/servlets/ProjectDocumentList?folderID=5415&amp;amp;expandFolder=5415&amp;amp;folderID=0"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;Svn1ClickSetup download page&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt; and download the latest version. As of the writing of this article it is &lt;/FONT&gt;&lt;A href="http://svn1clicksetup.tigris.org/servlets/ProjectDocumentList?folderID=5415&amp;amp;expandFolder=5415&amp;amp;folderID=0"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;1.3.2&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;For Client machine/s:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;It will be sufficient to just install Tortoise SVN Client, it can be downloaded from &lt;/FONT&gt;&lt;A href="http://tortoisesvn.tigris.org/download.html"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;TortoiseSVN&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face="Times New Roman" size=3&gt; Page. As of the writing of this article latest version was &lt;/FONT&gt;&lt;A href="http://sourceforge.net/project/showfiles.php?group_id=138498&amp;amp;package_id=151948"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;1.3.4&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;
&lt;OL start=2&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;Set up Subversion&lt;/B&gt;&lt;B&gt; on Server&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Run the Svn1ClickSetup executable (&lt;B&gt;&lt;I&gt;Svn1ClickSetup-1.3.2.exe&lt;/I&gt;&lt;/B&gt;) downloaded in the previous step. All the installation locations mentioned in this article are assumed to be default locations. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;Note: Svn1ClickSetup installs a Subversion service, if you don&amp;#8217;t want to be running this service, open a command prompt, and run the following command: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;FONT size=2&gt;svnservice -remove&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;OL start=3&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;Set up TortoiseSVN&lt;/B&gt;&lt;B&gt; on Client&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Run the TortoiseSVN Setup executable (&lt;B&gt;&lt;I&gt;TortoiseSVN-1.3.4.6692-svn-1.3.2.msi&lt;/I&gt;&lt;/B&gt;) downloaded in the previous step. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;Note: If you are working on VS.Net with Web Projects, it is recommended to select ASP.Net Hack on the Custom Setup step of the installation wizard. Although I have not explored consequences of not selecting it but it is hardly of any harm, as it not even takes 1 kb of your hard disk space.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;OL start=4&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;Install Apache&lt;/B&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Run the Apache installer (&lt;B&gt;&lt;I&gt;apache_2.0.54-win32-x86-no_ssl.msi&lt;/I&gt;&lt;/B&gt;) that you downloaded. It is pretty simple to install.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Once the installation finishes, launch a web browser, and browse to http://localhost. If you see a test page from Apache, the server is installed correctly.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Note: If port 80 is already occupied, you will have to stop the Webserver on which it is running or you will have to stop that WebSite. As Apache installation wizard gives not enough options of setting port while installation&lt;/SPAN&gt;&lt;FONT size=3&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size=3&gt;Later you can change the default port (which I recommend) in the &lt;/FONT&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;httpd.conf&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;FONT size=3&gt; file located in &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;C:\Program Files\Apache Group\Apache2\conf&amp;nbsp; &lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt;folder.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;You will have to make changes at two places, firstly search for word &lt;B&gt;Listen&lt;/B&gt; and replace &lt;B&gt;80&lt;/B&gt; with your desired port number for example 8181&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;Listen 8181&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Secondly search for &lt;B&gt;ServerName&lt;/B&gt; and replace &lt;B&gt;&lt;I&gt;:80&lt;/I&gt;&lt;/B&gt; with your desired port number.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;ServerName yourdomain.com:8181&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;You will have to restart Apache and now you can launch a web browser, and browse to &lt;/FONT&gt;&lt;A href="http://localhost:8181/"&gt;&lt;U&gt;&lt;FONT face="Times New Roman" color=#0000ff size=3&gt;http://localhost:8181/&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;Note: Now don&amp;#8217;t forget to restart the Webserver or WebSite, which you mayhave stopped.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;OL start=5&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;Set Up HTTP Access&lt;/B&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;The first thing we need to do is make sure that Apache loads the WebDav modules. The Apache config file (httpd.conf) is located in the C:\Program Files\Apache Group\Apache2\ conf directory. Launch a text editor, and open the Apache config file. You will want to keep this file open for the rest of the installation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Copy the Subversion HTTP modules: &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;Program Files\Subversion\bin\mod_dav_svn.so &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;Program Files\Subversion\bin\&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;mod_authz_svn.so&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size=3&gt;into the Apache modules directory (&lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;Program Files\Apache Group\Apache2\Modules&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt;).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;In the config file, look for a section of lines that all start with LoadModule. At the end of that section, add the following lines:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;LoadModule dav_module modules/mod_dav.so&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;LoadModule dav_svn_module modules/mod_dav_svn.so&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;LoadModule authz_svn_module modules/mod_authz_svn.so &lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;At this point, restart the Apache2 service (Control Panel &amp;gt; Administrative Tools &amp;gt; Services). You will probably want to keep the Services window open (we will be restarting Apache several more times). If it restarts with no errors, Apache is now loading the SVN module.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Back in the Apache config file, add the following to the end of the file:&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT size=2&gt;&lt;LOCATION repos&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;DAV svn&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;SVNPath "C:\svnrepos"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT size=2&gt;&lt;/LOCATION&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Restart Apache2 again. You can now access your repository via HTTP.&lt;/FONT&gt;&lt;/P&gt;
&lt;OL start=6&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;Configuring Authentication&lt;/B&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;?ote: There are several different ways to configure authorization for Subversion, but in this article only basic authorization is mentioned. Basic authorization sends the passwords in near plain-text, so if you are concerned with password snooping, you will have to use a different authorization scheme.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Now, we can browse our repository via HTTP. Not only that, but we can also check-out, modify, and commit changes. However, none of these operations require any type of authorization. Not exactly what we want, especially if we are going to have multiple users.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;To enable authorization, we need to tell Apache who the authorized users are. To do this, we give Apache a file with a list of the authorized users and their passwords. Apache makes this job easy by providing a utility to mange the user file, &lt;B&gt;htpasswd&lt;/B&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Let&amp;#8217;s go ahead and create our user file with the users Tom and Jerry. We are going to put our file in the Apache conf directory, so open a command prompt to that directory (&lt;B&gt;&lt;I&gt;C:\Program Files\Apache Group\Apache2\conf&lt;/I&gt;&lt;/B&gt;). Type the following command, and then enter a password for Tom.&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;&lt;B&gt;&lt;I&gt;&lt;FONT size=2&gt;C:\Program Files\Apache Group\Apache2\bin\htpasswd -cm svn-auth-file Tom&lt;/FONT&gt;&lt;/I&gt;&lt;/B&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Now type the following command to add Jerry to the file.&amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;&lt;B&gt;&lt;I&gt;&lt;FONT size=2&gt;C:\Program Files\Apache Group\Apache2\bin\htpasswd -m svn-auth-file Jerry&lt;/FONT&gt;&lt;/I&gt;&lt;/B&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;&lt;FONT face="Times New Roman"&gt;Note: There is difference between these two commands. The first command passes in the &lt;B&gt;-c&lt;/B&gt; command, which tells htpasswd to create the file. The second time, the file already exists, so just &lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;-m&lt;/B&gt; command is enough. The second command can be used to add additional users to the file. In the svn-auth-file entries for both Tom and Jerry can be seen. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size=3&gt;Now that authorization file is &lt;/FONT&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt"&gt;created&lt;/SPAN&gt;&lt;/I&gt;&lt;FONT size=3&gt;, some Apache configuration is also required. Go back to the Location tag that we added to the Apache config file. And add some more lines to it so that it looks like this&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;LOCATION repos&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;DAV svn&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;SVNPath "C:\svnrepos"&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;AuthType Basic&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;AuthName "Subversion repository"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;AuthUserFile "C:\Program Files\Apache Group\Apache2\conf\svn-auth-file"&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Require valid-user&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;/LOCATION&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT face="Times New Roman" size=3&gt;After restarting Apache2 once again, browse to your repository again. This time, you will be prompted for a user name and password. Cool, we have authorization working. However, if you don&amp;#8217;t want to be prompted for a user name unless modifying the repository, you are not quite finished yet.&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;Thankfully, only requiring authorization for modifications is really easy. All you have to do is add a couple more lines to the location tag so that it looks like this&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;LOCATION repos&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;DAV svn&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;SVNPath "C:\svnrepos"&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;AuthType Basic&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;AuthName "Subversion repository"&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;AuthUserFile "C:\Program Files\Apache Group\Apache2\conf\svn-auth-file"&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt; &lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;LIMITEXCEPT REPORT OPTIONS PROPFIND GET&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;B&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;Require valid-user&lt;/FONT&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;B&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/LIMITEXCEPT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;FONT size=2&gt;&lt;/LOCATION&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;One last restart of Apache2 and you now have the Subversion HTTP module installed, configured, and ready to control our revisions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;Reference&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;: &lt;A href="http://blog.briankohrs.com/2005/09/20/guide-to-installing-the-subverison-http-module-on-windows/#comments"&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://blog.briankohrs.com/2005/09/20/guide-to-installing-the-subverison-http-module-on-windows/#comments&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;&lt;FONT face="Times New Roman"&gt;I have modified Brian Kohr&amp;#8217;s article as I felt it was missing few things. I hope it will be of help and will be taken in the right spirit.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=81905"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=81905" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/81905.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2006/06/14/81905.aspx</guid>
            <pubDate>Thu, 15 Jun 2006 02:22:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/81905.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2006/06/14/81905.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/81905.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/81905.aspx</trackback:ping>
        </item>
        <item>
            <title>Problem with Digitally Signing Assemblies... </title>
            <link>http://geekswithblogs.net/emanish/archive/2006/02/20/70143.aspx</link>
            <description>&lt;P&gt;Narendra has written a &lt;A href="http://geekswithblogs.net/narent/archive/2006/02/15/69536.aspx"&gt;good post &lt;/A&gt;on resolving the problem related to Digitally Signing of Assemblies is .Net 2.0 &lt;BR&gt;(url : &lt;A href="http://geekswithblogs.net/narent/archive/2006/02/15/69536.aspx"&gt;http://geekswithblogs.net/narent/archive/2006/02/15/69536.aspx&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The problem is:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;1. To digitally sign assemblies &amp;#8220;AssemblyIncludeSigningInformation&amp;#8221; must be set to true, but once it is set to true&lt;BR&gt;&amp;nbsp;&amp;nbsp; it becomes mandatory to write &amp;#8220;AssemblyDelaySign&amp;#8221; attribute in AssemblyInfo.cs file. &lt;BR&gt;2. There is a logical error in the code (of AssemblyInfoTask.cs), which is mentioned by Narendra in the post.&lt;/P&gt;
&lt;P&gt;For any user it will become a problem in case assembly is to be digitally signed. &lt;BR&gt;As no where it is mentioned that DelaySign Attribute must be added in the AssemblyInfo.cs file and also how the &lt;BR&gt;AssemblyDelaySign value must be given (i.e. it should not be left blank). &lt;BR&gt;For e.g. this is an incorrect entry &lt;STRONG&gt;[assembly: AssemblyDelaySign()]&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If the incorrect entry is given, it will get converted to&lt;STRONG&gt; [assembly: AssemblyDelaySign(&amp;#8220;false&amp;#8221;)] &lt;/STRONG&gt;&lt;BR&gt;which will further lead to error in compilation.&lt;/P&gt;
&lt;P&gt;Where as Correct Entry must be: &lt;STRONG&gt;[assembly: AssemblyDelaySign(false)]&lt;/STRONG&gt;&lt;BR&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70143"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70143" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/emanish/aggbug/70143.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Manish Agrawal</dc:creator>
            <guid>http://geekswithblogs.net/emanish/archive/2006/02/20/70143.aspx</guid>
            <pubDate>Tue, 21 Feb 2006 00:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/emanish/comments/70143.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/emanish/archive/2006/02/20/70143.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/emanish/comments/commentRss/70143.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/emanish/services/trackbacks/70143.aspx</trackback:ping>
        </item>
    </channel>
</rss>