The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,861 other subscribers

Archive for the ‘DVCS – Distributed Version Control’ Category

some links on git and code reviews

Posted by jpluimers on 2017/02/02

A few links I collected:

–jeroen

Posted in Agile, Code Quality, Code Review, Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Interactive Rebase with SourceTree – via: Atlassian Blogs

Posted by jpluimers on 2017/01/24

Interesting read:

SourceTree is the middleman between you and Git, making it really easy to change your commit history through a simple user interface. You can drag and drop commits to reorder them or squash them, you can delete commits, reword the commit messages, edit them, or just leave them be.

More details at Atlassian Blogs: Interactive Rebase with SourceTree

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, SourceTree | Leave a Comment »

configure SourceTree to perform git rebase by default

Posted by jpluimers on 2017/01/23

There is a great description for Windows users at: the urban canuk, eh: Configure SourceTree to Rebase by default

Note that this is a global setting for git (which you can override each time you do a pull). So there is no way to differentiate this by repository.

The screenshots for Mac OS X users to configure SourceTree to perform git rebase by default are these:

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management, SourceTree | Leave a Comment »

Great tutorial on how to split older Git commits: http://bit.ly/1rE72cI -…

Posted by jpluimers on 2017/01/02

A long time ago (2014!), [WayBack] Great tutorial on how to split older Git commits: http://bit.ly/1rE72cI – should be used with care, but this can be a lifesaver and a really useful trick… – Ilya Grigorik – Google+ pointed me the below tutorial.

It has been in my drafts since then, but recently I found it back when I needed to rebase unpushed commits. Indeed it’s a great tutorial!

Executing the git rebase --interactive concepts can be tricky as they are on a way higher level than regular git work. So sometimes you want to exit vim notifying git to stop the current action. The easiest way I found was this vim command I found at [WayBackHow to abort a git rebase in interactive editor (thanks [WayBack] Telmo Costa!):

:cx

Via the tutorial, I also bumped into a few advanced git add features:

Another very powerfull feature is git add -p a.k.a. git add --patch which allows you to stage parts (or hunks) of a file.

[WayBackgit add -p: The most powerful git feature you’re not using yet

You can go even further with git add --interactive as this blog post shows:

[WayBackgit add –patch and –interactive

Back to the tutorial:

[WayBackGoing back in time to split older commits by thoughtram

Rebasing in Git allows you to go back in time to split older commits. In this article we’ll explore how to do exactly that!

git rebase --interactive

git rebase –interactive

Before the tutorial explains how to amend git commits, it covers these git rebase --interactive commands:

  • pick
  • reword
  • edit
  • squash
  • fixup

Note that squash will combine the commit on that line with the commit on the line above it.

There is one more little trick: to limit the number of commits (that’s normally limited to the unpushed ones), add like HEAD~4 which limits it to 4 commits.

Finally you can even use this for cherry picking, which I need to put on my research list: [WayBackgit: obtain the benefits of git rebase --interactive for cherry picks – Stack Overflow

Further reading:

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

The curse of vulnerable OpenSSL DLLs

Posted by jpluimers on 2016/12/30

When you ship OpenSSL DLLs, you should provide an update mechanism outside of your regular product cycle that updates these shortly after vulnerabilities are fixed.

Few if any products do that. So I made an overview from products and OpenSSL DLL versions I had installed on various systems.

I’m a developer, so the list is biased towards tools I use often.

All of them are vulnerable: [WayBackhttps://www.openssl.org/news/vulnerabilities.html

  • 1.0.2.h by ContinuaCI 1.8.1.185 PostgreSQL and Avast 12.3
  • 1.0.2.g by SourceTree 1.9.x embedded git_local
  • 1.0.2d by Git for Windows 2.6.1
  • 1.0.2a by SQLite browser 3.7.0
  • 1.0.1m by Delphi 10.0 Seattle
  • 1.0.1l by Ruby 2.3
  • 1.0.1f by SlikSvn 1.8.5
  • 1.0.1g by Delphi XE8, Delphi XE7, VMware Workstation OVF tool and Adobe Creative Cloud 2.8.1
  • 1.0.0g by Delphi XE6, Delphi XE5, Delphi XE4, Delphi XE3, Appmethod 1.13 and CollabNet SVN Client 1.7.5
  • 1.00d by MarkdownPad 2
  • 1.0.0 by FinalBuider 7 XE2 and FinalBuilder 7 EE
  • 0.9.8za by VMware Remote Console Plug-in 5.1 and VMware Virtual Infrastructure Client 5.1
  • 0.9.8y by VMware VIX Workstation 10
  • 0.9.8t by Veaam Backup and Replication
  • 0.9.8r by ContinuaCI 1.8.1.185 hg support, VMware VIX and VMware Workstation 8.0.2
  • 0.9.8q by Veeam Backup Transport, Veaam Backup, xampp 1.7.4 and Replication and VMware Virtual Infrastructure Client 5.0
  • 0.9.8o by xampp 1.7.4
  • 0.9.8l by xampp 1.7.4
  • 0.9.8n by Delphi XE2, Delphi XE and VMware VIX Workstation 7.1.0
  • 0.9.8m by VMware VMRC Plug-in, VMware VIX and VMware Workstation 8.0.2
  • 0.9.8i by VMware Virtual Infrastructure Client 4.1
  • 0.9.8d by Database Workbench Pro 4.4.3, Database Workbench Pro 5.2.4 and VMware vSphere CLI Perl
  • 0.9.8b by Adobe Creative Suite 5
  • 0.9.7m by VMware VIX server 1.0.9
  • 0.9.7l by VMware VIX VIServer 2
  • N/A by Adobe Create Suite 5 and VMware VIX server 1

–jeroen

via: [WayBackDoes Delphi installer install OpenSSL dll’s?

PS: Below some Software Archeology related links in the comments.

Posted in .NET, CollabNet, Delphi, Development, DVCS - Distributed Version Control, git, OpenSSL, Power User, Ruby, Security, Software Development, Source Code Management, SourceTree, Subversion/SVN | 7 Comments »

Remove from a Git repository without deleting it from the local filesystem – via: Stack Overflow

Posted by jpluimers on 2016/12/29

For a file:

git rm --cached mylogfile.log

For a directory:

git rm --cached -r mydirectory

Thanks bdonlan for answering that: Remove a file from a Git repository without deleting it from the local filesystem – Stack Overflow

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

How to I show the changes which have been (non)staged or are about to be commited? – via: Stack Overflow

Posted by jpluimers on 2016/12/27

I love this StackOverflow answer by Abizern (who maintained a great 365git blog as well):

A simple graphic makes this clearer

git diff

Shows the changes between the working directory and the index. This shows what has been changed, but is not staged for a commit.

git diff --cached

Shows the changes between the index and the HEAD(which is the last commit on this branch). This shows what has been added to the index and staged for a commit.

git diff HEAD

Shows all the changes between the working directory and HEAD (which includes changes in the index). This shows all the changes since the last commit, whether or not they have been staged for commit or not.

–jeroen

Source: git – How do I show the changes which have been staged? – Stack Overflow

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

How to: Migrate your SVN repository to Git – Nathan Hoad

Posted by jpluimers on 2016/12/08

How to: Migrate your SVN repository to Git – Nathan Hoad:

You’ve probably heard a lot about how awesome Git is from all the _cool_ people who are already using it. If you want to be part of the trendy crowd but feel tied down by your old Subversion repositories have no fear; Migrating all of those SVN repos to Git could not be easier **and** you get to keep the entire commit history of your project.

This is much better than what I did with FastMM:

Synced clone of FastMM SVN repository at http://sourceforge.net/projects/fastmm/ normally obtained through`svn checkout http://svn.code.sf.net/p/fastmm/code/ fastmm-code` but cloned by `git svn clone http://svn.code.sf.net/p/fastmm/code/ FastMM`

Source: jeroenp / FastMM — Bitbucket

Some more links for if I get stuck:

–jeroen

via: Stefan Glienke; For all the people migrating their svn repository to git – this guide really…

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »

Adding staged updates to SourceTree | SourceTree Blog

Posted by jpluimers on 2016/12/01

My experience is that early upgrades are very unstable and they take an eternity to fix bugs, I need to find a way to push myself from the early stage to the late stage.

[WayBackAdding staged updates to SourceTree | SourceTree Blog

–jeroen

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, Mercurial/Hg, Source Code Management, SourceTree | Leave a Comment »

Mac OS X – installing pdf-tools using homebrew to circumvent “For the best experience, open this PDF portfolio in Acrobat 9 or Adobe Reader 9, or later.”

Posted by jpluimers on 2016/09/14

Adobe marketing scam

Adobe marketing scam

I don’t want Acrobat/Adobe Reader on my Mac. Period.

But Preview will show some PDF files as “For the best experience, open this PDF portfolio in Acrobat 9 or Adobe Reader 9, or later.” or “For the best experience, open this PDF portfolio in Acrobat X or Adobe Reader X, or later.

This is some Adobe marketing scam where they generate a PDF file actually as a portfolio of PDF files having the first PDF being “marketing” message.

So I needed the pdf-tools on my Mac for which many sites suggest to use brew install pdf-tools. That worked not so well:

$ brew install pdf-tools
Error: No available formula with the name "pdf-tools" 
==> Searching for similarly named formulae...
This similarly named formula was found:
mupdf-tools
To install it, run:
  brew install mupdf-tools
==> Searching taps...
This formula was found in a tap:
homebrew/emacs/pdf-tools
To install it, run:
  brew install homebrew/emacs/pdf-tools

Searching for “Error: No available formula with the name” “pdf-tools” didn’t return useful results but looking for brew “pdf-tools” gone revealed pdf-tools: move to homebrew/emacs · wingyplus/homebrew@6e73af9 indicating the command should indeed be brew install homebrew/emacs/pdf-tools however that also ended up failing, in fact with multiple errors:

==> make server/epdfinfo
Error: No available formula with the name "homebrew/dupes/tcl-tk" 
Please tap it and then try again: brew tap homebrew/dupes
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.

After doing abrew tap homebrew/dupes it finally worked.

Read the rest of this entry »

Posted in Apple, Development, DVCS - Distributed Version Control, git, GitHub, Home brew / homebrew, Power User, Source Code Management | Leave a Comment »