Question: I'm running Ubuntu on VM and MsysGit on Vista. I'm using Github as the git host and tracking the same repository from Msysgit too.

When I pull all the changes from Mysysgit and do the "git status", it lists the uncommitted changes. But when running "git status" from the Ubunutu, its all clean. No uncommitted changes.

Why is this happening in Msysgit.
Both version is 1.6

Answer: 
Personally, the only time I would consider using public fields is in a very implementation-specific private nested class.

Other times it just feels too "wrong" to do it.

The CLR will take care of performance by optimising out the method/property (in release builds) so that shouldn't be an issue.
Here's some scenarios where it is OK (from the Framework Design Guidelines book):

> 
> * DO use constant fields for constants
>  that will never change.
> * DO use public
>  static readonly fields for predefined
>  object instances.
> 
> 
> 

And where it is not:

> 
> * DO NOT assign instances of mutable
>  types to readonly fields.
> 
> 
> 

From what you have stated I don't get why your trivial properties don't get inlined by the JIT?