<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Version Control on Marko Apfel</title><link>http://blog.marko-apfel.de/tags/version-control/</link><description>Recent content in Version Control on Marko Apfel</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 24 Jun 2015 16:06:00 +0200</lastBuildDate><atom:link href="http://blog.marko-apfel.de/tags/version-control/index.xml" rel="self" type="application/rss+xml"/><item><title>Using Git for versioning of Word (doc/docx) documents</title><link>http://blog.marko-apfel.de/posts/using-git-for-versioning-of-word-doc-docx-documents/</link><pubDate>Wed, 24 Jun 2015 16:06:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/using-git-for-versioning-of-word-doc-docx-documents/</guid><description>&lt;p&gt;In too many projects I saw a chaos to store different versions of documents (in case these documents are edited over the time and older versions were kept for later analysis).&lt;/p&gt;
&lt;p&gt;Each colleague has an own understanding how to name documents and how to add information about the status/version of the document. So it is not seldom to see timestamps as pre- or suffixes, user and user-acronyms as suffixes, and version numbers as suffixes. It gets really interesting if multiple users co-work on the same document and introduce their own naming guideline. After a few versions you are completely lost to know which document is the most recent version. Sometimes you can hope that sorting for timestamps of OS (Date modified) in the File Explorer leads you to the right one. But too often somebody opens a documents and changes by coincidence something inside (e.g. auto fields, like dates) and confirms the save question during closing with Yes. Then you have an older version with a newer timestamp.&lt;/p&gt;</description></item><item><title>Be careful when Git suppresses bin Folders</title><link>http://blog.marko-apfel.de/posts/be-careful-when-git-suppresses-bin-folders/</link><pubDate>Fri, 05 Oct 2012 08:12:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/be-careful-when-git-suppresses-bin-folders/</guid><description>&lt;h2 id="initial-situation"&gt;Initial situation&lt;/h2&gt;
&lt;p&gt;Often for Visual Studio projects the typical content of a &lt;code&gt;.gitignore&lt;/code&gt; file contains this line&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bin&lt;/code&gt; or&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[B|b]in&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is used to avoid that Git tries to track compile outputs as repository relevant data.&lt;/p&gt;</description></item><item><title>Wise settings for Git</title><link>http://blog.marko-apfel.de/posts/wise-settings-for-git/</link><pubDate>Thu, 31 May 2012 11:46:00 +0200</pubDate><guid>http://blog.marko-apfel.de/posts/wise-settings-for-git/</guid><description>&lt;p&gt;These settings reflecting my Git-environment. It a result of reading and trying several ideas of input from others.&lt;/p&gt;
&lt;h2 id="must-haves"&gt;Must-Haves&lt;/h2&gt;
&lt;h3 id="aliases"&gt;Aliases&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[alias]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ci = commit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; st = status
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; co = checkout
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; oneline = log --pretty=oneline
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; br = branch
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; la = log --pretty=\&amp;#34;format:%ad %h (%an): %s\&amp;#34; --date=short
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; df = diff
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dc = diff --cached
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; lg = log -p
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; lol = log --graph --decorate --pretty=oneline --abbrev-commit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ls = ls-files
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ign = ls-files -o -i --exclude-standard
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="colors"&gt;Colors&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[color]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;ui&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;auto&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[color &amp;#34;branch&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;current&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;yellow reverse
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; local = yellow
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; remote = green&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[color &amp;#34;diff&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;meta&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;yellow bold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; frag = magenta bold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; old = red bold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; new = green bold
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; whitespace = red reverse&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[color &amp;#34;status&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;added&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;green
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; changed = red
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; untracked = cyan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="core"&gt;Core&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[core]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;autocrlf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;true
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; excludesfile = c:/Users/&amp;lt;user&amp;gt;/.gitignore
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; editor = &amp;#39;C:/Program Files (x86)/Notepad++/notepad++.exe&amp;#39; -multiInst -notabbar -nosession –noPlugin&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="nice-to-have"&gt;Nice to have&lt;/h2&gt;
&lt;h3 id="merge-and-diff"&gt;Merge and Diff&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[merge]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;tool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;kdiff3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[mergetool &amp;#34;kdiff3&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;c:/Program Files (x86)/KDiff3/kdiff3.exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[mergetool &amp;#34;p4merge&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;c:/Program Files (x86)/Perforce Merge/p4merge.exe
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; cmd = p4merge \&amp;#34;$BASE\&amp;#34; \&amp;#34;$LOCAL\&amp;#34; \&amp;#34;$REMOTE\&amp;#34; \&amp;#34;$MERGED\&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; keepTemporaries = false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; trustExitCode = false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; keepBackup = false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[diff]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;guitool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;kdiff3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[difftool &amp;#34;kdiff3&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;c:/Program Files (x86)/KDiff3/kdiff3.exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;[difftool &amp;#34;p4merge&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;C:/Users/&amp;lt;user&amp;gt;/My Applications/Perforce Merge/p4merge.exe
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; cmd = \&amp;#34;p4merge.exe $LOCAL $REMOTE\&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Mercurial behind a proxy</title><link>http://blog.marko-apfel.de/posts/mercurial-behind-a-proxy/</link><pubDate>Mon, 24 Jan 2011 17:57:00 +0100</pubDate><guid>http://blog.marko-apfel.de/posts/mercurial-behind-a-proxy/</guid><description>&lt;p&gt;For getting data with using a proxy simply modify the command with included &lt;code&gt;--config&lt;/code&gt;-parameter with proxy-information.&lt;/p&gt;
&lt;p&gt;So the original:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hg clone https://ralfwscratchpad.googlecode.com/hg/ ralfwscratchpad
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;transforms to:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmd" data-lang="cmd"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hg --config http_proxy.host=proxy:8080 clone https://ralfwscratchpad.googlecode.com/hg/ ralfwscratchpad
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>