VS 2013 Git integration - customize compare with unmodified option? - vb.net

I am researching Git for VS 2013, and it seems pretty solid so far. However, it seems to be lacking customization options.
First question: With TFS and subversion (AnkhSVN) I am able to configure my own custom compare and merge tools (I am using CodeCompare, no affiliation, just a preference). Example for TFS:
There are no similar options with Git, even thought it's a Microsoft Git Provider. Am I missing a plugin?
Second question: I also could not find an option to do "Compare" with a double click. It is very unproductive to right-click and go to "Compare with unmodified" every time.
VS 2013 has a nice option to view only modified files, so I was going to use that + key or mouse combination (I've tried Shift-dblClick - no luck). Did anyone manage to discover such combination?

Trick at How to use an external diff tool for Git in Visual Studio 2013? has helped me to fix this issue.
[diff]
guitool = winmerge
tool = winmerge
[difftool "winmerge"]
path = C:/Tools/WinMerge/WinMergeU.exe
cmd = C:/Tools/WinMerge/WinMergeU.exe \"$LOCAL\" \"$REMOTE\"

Related

How to execute the "AL:GO!" task as part of a script

Recently, my company started to focus Extension_v2 development for Dynamics NAV BC. We store our code in an internal Git-Server. So far, so good.
But startig a new project is still a very fiddly task. You have to create a repository, clone it, execute the AL Code-Task, move the files to the fitting location push the repository to the correct upstream etc. And all this does not include the first initial Steps (README, CHANGELOG and all other fundamental files...).
So I wanted to write a small PowerShell-Script, to do all these initial steps before being able to start working on the Project.
The Problem: I could not find a way to execute the "AL-GO!" task via script.
I have already searched the Internet and some forums for an answer... but it seems like microsoft did not consider the possibility to execute tasks from the AL-Language-Extension via script.
I also played around with the New-NAVAppManifest and the New-NAVAppManifestFile command for the old Extension_V1 development, but that did not do the trick.
I am looking for a fair and easy way to combine the creation of the app.json file and the launch.json file with other commands to easily initialize a new Project without haveing to write all commands manually. Maybe I did not recognize the easy solution. Or maybe this is just the way we have to do it in Extension_v2.
Anyway, thanks for all your help nevertheless.
Greetings.
Stay away from Ext V1. It's highly deprecated at this point.
First of all, why do you need to execute the "AL-Go!" via script? The "AL-Go!" command should already include all necessary steps to create an empty project including the launch.json and app.json. (minimal adjuments required dependent on your BC environment)
There is an extension/plugin for Git in Visual Studio Code which will handle all the repository stuff for you. You don't need to change file locations if everything is set up for Git. I rarely use it yet, but saw a demo for it on the Directions EMEA last year and I'm pretty sure it works at its current state (someone correct me if I'm wrong)
A way to implement the "AL-GO!" command for a script or for setting up additional steps in your project setup might be to write your own visual studio code extension/plugin which requires some additional know-how for that.
OR
You just change the settings/files of the default project, I bet there is at least a file for creating the initial AL project. Just change that to your requirements

How revert to tfs 2015 stock agile process template

After (or before) we convert from TFS 2012.2 to TFS 2015.3 (which we have done just fine in a test run) we would like to revert our team project to the standard TFS 2015 Agile process template, and no longer use the customized agile process that we had modified from TFS 2012. We are quite willing to delete all of our work items and start over, but need to keep the team project history and change sets. Anyone know how to do this? Answers to prior questions on this did not address this situation. Thanks.
There is no easy way to do it. Basically the steps require you to use a lot of witadmin commands. Start by deleting any work item types that were added and don't exist in the default template.
Then push the standard work item definition for each work item type.
Then push the categories
Then push the process configuration
Then delete any fields that are no longer used
That should bring you back to the standard template.
An alternative you could try is to use the WitMorph project. You can write a set of rules to migrate your data back into working order.

Dynamics CRM Unable to Uninstall Managed Solution

I've currently got an issue in our Dynamics CRM test environment, we currently cannot 'uninstall' the managed solution we have imported from our development environment.
The error we are getting when we try to uninstall is: "[entity] doesn't have a valid quick find query defined for it.". The log that they allow you to download with 'more details' essentially says the same thing with an error code of -2147089917.
I can't find any information on google or in the dynamics documentation around what could cause this issue or what it means.
We have done some basic customisation to the quick find query for that entity which appears to be in the solution. We can use the search and it uses the quick find query we have defined so that appears to be correct.
The solution we have is exported from our development environment and then imported as a managed solution to the test environment.
We've tried importing a newer version of the same solution over the top and we still can't delete.
Does anyone have any ideas as to what could cause/solve this issue.
Thanks,
Michael
you have to remove the entities existing in the solution which you want to uninstall from the Quick find Search before deleting the solution.
To do this:
go to Settings > Administration > System Settings
In the tab marked “General” you will see a heading called “Set up Quick Find”
Select the record entities that you would like to remove and click OK
And now you should be able to uninstall your solution.
Hope this help!
Thinks,
Youssef.

Trying to perform a diff using netbeans and its Git repository

I have two different version of a website, an older version, and a newer version that is supposed to have some sort of virus on it (or malicious code of some kind). I need to perform a diff between the two sites and try to eliminate the virus in the newer one.
After some searching I found netbeans 7.1 is able to do this using it's Git Repository. I was following this tutorial http://netbeans.org/kb/docs/ide/git.html but I am not getting the same options on my screen as in the tutorial. I am using netbeans 7.1 RC1 and downloaded the jdk from the link on that same page. The jdk download itself says jdk7 but the folder it creates on my computer is named jdk1.7.0_01 . I'm assuming jdk7 is short for jdk1.7 .
I get as far as the very end of the "Initializing a Git Repository" step. The end when it says "All the project files are marked Added in your Working Tree. To view a file status, place the cursor over the file name in the Projects window. The status of the file in the Working Tree displays in green to the right of the slash like shown in the following picture." does not happen.
I tried going further anyway, but there is just more and more options that do not show up for me.
I am also open to another way to perform a diff operation between the sites, it doesn't have to be with using netbeans. I should note however I do not have access to a unix box. So the solution has to work for windows, or I guess I can go on a coworkers mac if I need to.
Thank you.
From your question, it sounds like you did not already have your web site code under version control. If that's the case then I'd suggest doing so, and git is a very good choice. It is what I use.
Your goal, however, is to diff the older version of your site with the "newer" (possibly infected) version, and that can be done without having to deal with a version control system. There are several good diff tools for Windows. I mainly use WinMerge, as I like its user interface and simplicity. KDiff3 is another good one, and I use that one in conjunction with git merge operations, because it supports a three-way-merge comparison (which WinMerge does not).
If you were to use WinMerge for your diff, and you had the code from the old version in Q:\example.com\old-version and the "new" version in Q:\example.com\current-version, then you would start WinMerge, and either choose File|Open... from the menu, or click on the open icon in the toolbar. You would get a dialog like the following, and would fill it in as shown:
If you filled everything in correctly, then you would be able to click on the OK button, and would get a list of file differences. Depending on the default settings, you might also see files that have not changed at all in that list. You can hide those using the View menu. Double-clicking on a file with differences will open the two versions and show you the differences.
Explore the WinMerge options. I have mine set, for example, to compare white-space differences, but to ignore different line endings (Unix's LF versus Windows' CR/LF).

Script TFS Powertools shell extension getter

Is there a simple way to script the TFS powertools "get latest version" feature ?
I am refering to this window:
I just want to get it via a script, rather than by right clicking on a folder. I am aware of tf get but I like the powertools window better
The window you are showing above is not specific to TFS Powertools. That is the basic get window that comes packaged with TFS. Based on that fact, I am not 100% sure I understand your question.
Do you mean to say "How can I, using tfpt, do a get latest version and show this window." Maybe you are simply asking how to display the TFS window from the command line or via script?
TFPT has getcs if you know the latest changeset but that doesn't display in a window. TFPT adds features that TF doesn't have so obviously TFPT will not have a basic get.
I am unaware of a way, via a script (which would rely on tfpt or tf) to get latest in TFS and then display the aforementioned TFS get window. I can't think of any reason why there would be a need for this either. There is command line syntax to handle the gets.
Of course there are commands that will display in the viewer because it wouldn't make sense in plain text; however, since the get command simply gets files it wouldn't make sense to pop the viewer.