GUI Merge Tool for Git on Windows

So Git doesn’t come with a GUI based merge tool out of the box, which is fine. It’s rather easy to configure Git to use a visual 3-way diff tool.  Here’s some tips on how to setup a GUI merge tool for Git on Windows.

Which one to choose?

Well, that’s a personal choice. Popular ones for Windows seems to be either kdiff3 or P4V visual client.

Here, I will go through the steps to setup the P4Merge: Visual Merge Tool.

First, download the client from Perforce download page.

Start the setup and select only the “Visual Merge Tool” feature:

Select the Visual Merge Tool feature
Select the Visual Merge Tool feature

After the installation has finished, you will need to configure Git to use it. Open a Git bash and type in these two commands;

git config –global merge.tool p4merge
git config –global mergetool.p4merge.cmd ‘”c:\Program Files\Perforce\p4merge.exe” “$BASE” “$LOCAL” “$REMOTE” “$MERGED”‘

That should do it. You can now do visual merging using:

git mergetool

You can also do visual diffs using:

git difftool

 

How to really uninstall Java 7 JRE on Mac OS X

Thanks to this stupidity from Oracle, I needed to uninstall Java 7 and go back to the Java v6 runtime.

(Hey, Oracle, this bug was reported 9 months ago.)

Well, the official way of  uninstall Java 7 and roll back to v6 from Oracle and Apple didn’t work for me. $ java -version still reported v1.7.

Thanks to Topher Kessler, this way worked for me;

delete the file 1.7.0.jdk located in /Library/Java/JavaVirtualMachines

Delete the v1.7.0.jdk file to uninstall Java 7
Delete the v1.7.0.jdk file

To call this method, the “Membership.Provider” property must be an instance of “ExtendedMembershipProvider”.

Membership Provider property must be an instance of ExtendedMembershipProvider

Have you just created an ASP.NET MVC 4 internet project, decided to use the universal providers to utilize SQL Azure? So you have installed the NuGet package Microsoft ASP.NET Universal Providers and now your project bombs with:

To call this method, the “Membership.Provider” property must be an instance of “ExtendedMembershipProvider”.

You search for a solution, find Jon Galloway article SimpleMembership, Membership Providers, Universal Providers and the new ASP.NET 4.5 Web Forms and ASP.NET MVC 4 templates , where he states: “If you want to use the new AccountController, you’ll either need to use the SimpleMembershipProvider or another valid ExtendedMembershipProvider. This is pretty straightforward.”

Well, he fails to describe what you’ll need to do if you want continue to use the AccountController. Fear not, here’s what you’ll have do to.

Edit your web.config and replace:

<profile defaultProvider=DefaultProfileProvider>
<providers>
  <add name=DefaultProfileProvider” type=System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
connectionStringName=DefaultConnection
applicationName=/ />
  </providers>
</profile>
<membership defaultProvider=DefaultMembershipProvider>
  <providers>
    <add name=DefaultMembershipProvider
type=System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 connectionStringName=DefaultConnection enablePasswordRetrieval=false” enablePasswordReset=true” requiresQuestionAndAnswer=false
requiresUniqueEmail=false” maxInvalidPasswordAttempts=5
minRequiredPasswordLength=6” minRequiredNonalphanumericCharacters=0
passwordAttemptWindow=10
applicationName=/ />
  </providers>
</membership>
<roleManager defaultProvider=DefaultRoleProvider>
  <providers>
    <add name=DefaultRoleProvider type=System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 connectionStringName=DefaultConnection applicationName=/ />
  </providers>
</roleManager>

With:

<profile defaultProvider=SimpleProfileProvider>
  <providers>
    <add name=SimpleProfileProvider type=WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData
        connectionStringName=DefaultConnection applicationName=/ />
</providers>
</profile>
<membership defaultProvider=SimpleMembershipProvider>
  <providers>
      <add name=SimpleMembershipProvider” type=WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData />
  </providers>
</membership>
<roleManager defaultProvider=SimpleRoleProvider>
  <providers>
    <add name=SimpleRoleProvider type=WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData/>
  </providers>
</roleManager>

 

How to save your git password in the Mac OSX keychain

Are you tired of constantly having to enter your Git password all the time? Here’s how to make life much easier for you by saving the git password in the Mac OSX keychain.

In order to not having enter your git based password every time you perform a git operation, here’s how you can store the git password in the Mac OSX keychain:

Check if you have the credential-osxkeychain helper already installed:

git credential-osxkeychain

If not, the download and install it:

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

And make git use the helper:

git config --global credential.helper osxkeychain

 

 

The Local Farm Is Not Accessible. Cmdlets with FeatureDependency are not registered. How to fix this properly

So you have started to administer SharePoint 2010 using a non-farm account. You try to open the SharePoint 2010 Management Shell and you are greeted with this error:

“The Local Farm Is Not Accessible. Cmdlets with FeatureDependency are not registered”

You Bing this error and find a lot of blog posts that suggests you to open SQL Server Manager and give DBO permissions to all the related SharePoint databases; content, config etc.

Please don’t do that.

Here’s the proper way to give your account the needed permissions:

Open the SharePoint 2010 Management Shell with an account that already has farm permissions.

Permission the desired account using:

> add-spshelladmin -username domain\username

That’s the proper way of doing it.

You can also check which accounts has shell admin rights:

>get-spshelladmin