<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx</link><description>I have not forgotten about my series on method type inference; rather, the contrary. I have been thinking hard about how to change method type inference to be more accurate in a hypothetical world with covariant and contravariant interfaces, and this</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#10062715</link><pubDate>Wed, 15 Sep 2010 22:12:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10062715</guid><dc:creator>Joshua</dc:creator><description>&lt;p&gt;attrib -r filename&lt;/p&gt;
&lt;p&gt;and when back up, tfpt online filename&lt;/p&gt;
&lt;p&gt;Ugh. tf.exe needs an option for checkout now and fix server status when it can reach the server.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10062715" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8999642</link><pubDate>Tue, 14 Oct 2008 18:48:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8999642</guid><dc:creator>Donn Felker</dc:creator><description>&lt;p&gt;&amp;quot;What do you do when your source control / bug database / network / email / whatever crucial system is temporarily unavailable?&amp;quot;&lt;/p&gt;
&lt;p&gt;Take a break. :)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8999642" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8922051</link><pubDate>Wed, 03 Sep 2008 17:55:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8922051</guid><dc:creator>Eric Lippert</dc:creator><description>&lt;p&gt;An excellent suggestion. &amp;nbsp;A slightly different way to cast this feature would be to allow a related group of extension methods to form an &amp;quot;extension interface&amp;quot;. Since extension methods extend a particular type, an extension interface could also be restricted to extending any type you chose and no others.&lt;/p&gt;
&lt;p&gt;We are definitely considering more &amp;quot;extension&amp;quot; features in the future, but hypothetically speaking, we would not have any of this work planned for the hypothetical next release, if there were one, which I'm not confirming or denying. :-)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8922051" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8922041</link><pubDate>Wed, 03 Sep 2008 17:47:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8922041</guid><dc:creator>Daryl</dc:creator><description>&lt;p&gt;&amp;gt; in a hypothetical world with covariant and contravariant interfaces&lt;/p&gt;
&lt;p&gt;While the C# team is tinkering with interfaces, I have a suggestion.&lt;/p&gt;
&lt;p&gt;Recently I found myself creating an interface which would be implemented by some derived WPF Visuals. &amp;nbsp;The interface adds certain properties and methods to these Visual objects. &amp;nbsp;The specifics aren't really important, let's call the interface IEnhancedVisual.&lt;/p&gt;
&lt;p&gt;Here's the thing, this interface is only designed for use on WPF Visual objects. &amp;nbsp;It would be great if I could enforce that at compile time, and save a lot of run-time casts and type-checking. &amp;nbsp;Right now, if I have a list of IEnhancedVisuals, I either have to dynamic-cast each one to Visual to do any WPF work on it, or declare it as a list of Visuals and dynamic-cast to IEnhancedVisual to get to the &amp;quot;extra&amp;quot; members.&lt;/p&gt;
&lt;p&gt;Of course, there's always the risk that some fool will put a plain Visual on a list intended to be only IEnhancedVisuals. &amp;nbsp;Or implement IEnhancedVisual on a random class. &amp;nbsp;Even if they don't, all the casts and type-checking has to be done at run-time, often inside a foreach loop. &amp;nbsp;What I really want is this:&lt;/p&gt;
&lt;p&gt;interface IEnhancedVisual : Visual, INotifyPropertyChanged&lt;/p&gt;
&lt;p&gt;This just restricts the interface at compile-time. &amp;nbsp;Classes can only implement the interface if they inherit from Visual.&lt;/p&gt;
&lt;p&gt;At first glance, it might look like the interface is just an abstract class, but of course it's very different. &amp;nbsp;By making it an interface, you can &amp;quot;glue&amp;quot; it onto leaf nodes on the class tree. &amp;nbsp;For example, you can create an EnhancedButton class which inherits from button and implements this interface. &amp;nbsp;The problem with an abstract class is, you would have to &amp;quot;start over&amp;quot; at the root Visual object, and somehow reimplement all the controls you want to use.&lt;/p&gt;
&lt;p&gt;Note that the language already does this implicitly with object:&lt;/p&gt;
&lt;p&gt;interface IEnumerable : object&lt;/p&gt;
&lt;p&gt;If it didn't, this code wouldn't work:&lt;/p&gt;
&lt;p&gt;IEnumberable e;&lt;/p&gt;
&lt;p&gt;e.GetType();&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8922041" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8910580</link><pubDate>Sat, 30 Aug 2008 21:43:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8910580</guid><dc:creator>Francois Germain</dc:creator><description>&lt;p&gt;HI all,&lt;/p&gt;
&lt;p&gt;Sincerely, I don't have a clue about what to do because it never happened to me. &amp;nbsp;Even if my main server was down for a catastrophic crash, only thing I need to do is attach the main repo FSFS folder to another LAMP server and continue serving SVN in a matter of a few minutes. &amp;nbsp;Even if the main copy got lost, we do live backups every day so we would only loose MAX 1 day of work in theory. &amp;nbsp;In practice, it is close to NIL. &amp;nbsp;That’s what our team planned on. &amp;nbsp;There are other ways to achieve way higher up time percentages than this but we did not feel the need for it.&lt;/p&gt;
&lt;p&gt;This points out to an important problem. &amp;nbsp;SCM is the most single important thing in a software company as small or big it is. &amp;nbsp;There are ways to reach 99.9999% up time on any good SCM for any number of teams or employees. &amp;nbsp;It is just not something that people put in priority because the event of a real crash is so remote. &amp;nbsp;Unfortunately, it is not something achievable at a reasonable cost with TFS. &amp;nbsp;Of course, it is very achievable with SVN.&lt;/p&gt;
&lt;p&gt;If you or your company did not ask yourself yet what type of down time you can sustain, what type of redundancy is needed and you do not have a disaster recovery plan in place for your development team, you’re doomed...&lt;/p&gt;
&lt;p&gt;To Robin Goodfellow: &amp;nbsp;Please check www.sourceforge.net for a proof that SVN can support large deployments. &amp;nbsp; I guess you do not know WANdisco either or SVN hooks to create Master-Slave replication?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8910580" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8877786</link><pubDate>Tue, 19 Aug 2008 06:47:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8877786</guid><dc:creator>Ben</dc:creator><description>&lt;p&gt;If the source control server is down I go and ask the build/source control guy why (it's a small company). Since I'm his manager I should know because somebody is going to ask me!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8877786" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8876535</link><pubDate>Mon, 18 Aug 2008 17:34:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8876535</guid><dc:creator>THY</dc:creator><description>&lt;p&gt;&amp;gt;Robin Goodfellow said:&lt;/p&gt;
&lt;p&gt;&amp;gt;Let's just say that the number of companies doing development at that level is very small (few dozens at &amp;gt;most) and though Subversion may be robust under certain circumstances, it is wholly unsuitable to use in &amp;gt;the situation of gigabytes of code being modified by literally thousands of developers and testers and &amp;gt;migrated around through several hundred different branches on a near continuous basis.&lt;/p&gt;
&lt;p&gt;And VSS/TFS is more suitable than subversion in this environment exactly how? Neither are suitable, if you ask me.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8876535" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8853291</link><pubDate>Tue, 12 Aug 2008 23:01:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8853291</guid><dc:creator>Ted</dc:creator><description>&lt;p&gt;Dogfood your own project for awhile to appreciate following standard best practice with source code control. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Too often, consultant and rookie coders treat the entire project and all of the add-on parts (version control, build process, etc.) as a semester project that does not live after the developer leaves the project/company.&lt;/p&gt;
&lt;p&gt;Meshing with and contributing to that is the business analyst and project manager downplaying version control, documented source code, and other best practices as wasted time usually since they have never worked in a production software development shop.&lt;/p&gt;
&lt;p&gt;Both of these greatly inflate the overall cost of IT.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8853291" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8841285</link><pubDate>Thu, 07 Aug 2008 19:32:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8841285</guid><dc:creator>bernard marx</dc:creator><description>&lt;p&gt;what's a source control server?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8841285" width="1" height="1"&gt;</description></item><item><title>re: What To Do When The Source Control Server Is Down</title><link>http://blogs.msdn.com/b/ericlippert/archive/2008/07/30/what-to-do-when-the-source-control-server-is-down.aspx#8838632</link><pubDate>Wed, 06 Aug 2008 22:19:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8838632</guid><dc:creator>Ted</dc:creator><description>&lt;p&gt;Basic developer tasks like source code control, versioning, patch deployment, etc. seem to be downlpayed and thus quite problemmatic in many shops I've worked in. &amp;nbsp;I do not know if this is just because the majority of developers in those shops have under 5 years experience or if no one stays around long enough to dogfood their own code thorugh multiple production releases.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8838632" width="1" height="1"&gt;</description></item></channel></rss>