gitflow | git |
---|---|
git flow init |
git init |
git commit --allow-empty -m "Initial commit" |
|
git checkout -b develop master |
// Just before switching jobs: | |
// Add one of these. | |
// Preferably into the same commit where you do a large merge. | |
// | |
// This started as a tweet with a joke of "C++ pro-tip: #define private public", | |
// and then it quickly escalated into more and more evil suggestions. | |
// I've tried to capture interesting suggestions here. | |
// | |
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_, | |
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant, |
Spurred by recent events (https://news.ycombinator.com/item?id=8244700), this is a quick set of jotted-down thoughts about the state of "Semantic" Versioning, and why we should be fighting the good fight against it.
For a long time in the history of software, version numbers indicated the relative progress and change in a given piece of software. A major release (1.x.x) was major, a minor release (x.1.x) was minor, and a patch release was just a small patch. You could evaluate a given piece of software by name + version, and get a feeling for how far away version 2.0.1 was from version 2.8.0.
But Semantic Versioning (henceforth, SemVer), as specified at http://semver.org/, changes this to prioritize a mechanistic understanding of a codebase over a human one. Any "breaking" change to the software must be accompanied with a new major version number. It's alright for robots, but bad for us.
SemVer tries to compress a huge amount of information — the nature of the change, the percentage of users that wil
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c | |
index c11354248e..a994aa9c6f 100644 | |
--- a/gtk/gtkfilechooserdefault.c | |
+++ b/gtk/gtkfilechooserdefault.c | |
@@ -80,6 +80,7 @@ | |
#include <sys/stat.h> | |
#include <sys/types.h> | |
#include <locale.h> | |
+#include <math.h> | |
diff --git a/gtk/gtkfilechooserprivate.h b/gtk/gtkfilechooserprivate.h | |
index a0a622c111..2af859433d 100644 | |
--- a/gtk/gtkfilechooserprivate.h | |
+++ b/gtk/gtkfilechooserprivate.h | |
@@ -32,10 +32,14 @@ | |
#include "gtktreestore.h" | |
#include "gtktreeview.h" | |
#include "gtkbox.h" | |
+#include "gtkiconview.h" | |
+#include "gtkscale.h" |
javascript: (function() { | |
const search_text = prompt("Search cppreference"); | |
if (search_text !== null) | |
window.location.href = | |
"http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=" | |
+ search_text; | |
}()); |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <stdint.h> | |
#ifdef _MSC_VER | |
#include <intrin.h> /* for rdtscp and clflush */ | |
#pragma optimize("gt",on) | |
#else | |
#include <x86intrin.h> /* for rdtscp and clflush */ | |
#endif |
# Adjust the following variables as necessary | |
REMOTE=origin | |
BRANCH=$(git rev-parse --abbrev-ref HEAD) | |
BATCH_SIZE=500 | |
# check if the branch exists on the remote | |
if git show-ref --quiet --verify refs/remotes/$REMOTE/$BRANCH; then | |
# if so, only push the commits that are not on the remote already | |
range=$REMOTE/$BRANCH..HEAD | |
else |
function refreshenv | |
{ | |
powershell -NonInteractive - <<\EOF | |
Import-Module "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1" | |
Update-SessionEnvironment | |
# Round brackets in variable names cause problems with bash | |
Get-ChildItem env:* | %{ | |
if (!($_.Name.Contains('('))) { |
BEGIN:VCALENDAR | |
BEGIN:VEVENT | |
DTSTART:20210101 | |
DTEND:20210101 | |
RRULE:FREQ=WEEKLY;BYDAY=SA;BYSETPOS=-1 | |
SUMMARY:Weekend Start | |
END:VEVENT | |
BEGIN:VEVENT | |
DTSTART:20210101 | |
DTEND:20210101 |