Git Warning: LF Will Be Replaced by CRLF

I’m using Git Bash while writing this post. I’ve never tested the commands on *nix.

Background

Some of the tags and titles were written as “LateX”/“latex” in the source files. I batch corrected them with Git Grep and GNU Sed.

git grep --name-only -IiE ^-\ latex$'\r'? content/{post,page} | \
xargs -n1 sed -i "s/^- latex/- LaTeX/I"

I tried to match

  1. a leading - using ^-
  2. a whitespace \ escaped by a backslash to avoid wrapping the special character below with double quotes
  3. the string “latex” (case-insensitive)
  4. the carriage return \r, which is represented by $'\r' in bash, for at most once (?)

I observed that wrapping $'\r' with "" would lead to no match.

[Read More]
Git  sed 

Merge GitHub Pull Requests

Aim

To merge a pull request.

How?

Let’s take Staticman PR 231 as an example. I would like to test it before commiting this merget to Heroku.

$ cd ~/staticman
$ git branch -a
* deploy
  dev
  master
  ...
$ git remote -v
eduardoboucas https://github.com/eduardoboucas/staticman.git (fetch)
eduardoboucas https://github.com/eduardoboucas/staticman.git (push)
heroku  https://git.heroku.com/staticman3.git (fetch)
heroku  https://git.heroku.com/staticman3.git (push)
...
$ git pull eduardoboucas pull/231/head:deploy
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Total 18 (delta 10), reused 10 (delta 10), pack-reused 8
Unpacking objects: 100% (18/18), done.
From https://github.com/eduardoboucas/staticman
 ! [rejected]        refs/pull/231/head -> deploy  (non-fast-forward)

I executed the last command on branch dev. I didn’t have time to figure out the reason for this error. The following commands should work.

[Read More]

Stow Your Dotfiles

SSH config files managed by Git and GNU Stow

I correctly set up the system configuration file manager GNU Stow and the version control system (VCS) Git on my Fujitsu Lifebook so that the former can automatically install system configuration files like modules, whereas the later can track the code in those files.

What I mean for correctly is that in the ssh folder of the remote dotfiles repo, there is neither SSH key files nor entries representing SSH keys in the gitignore file. You may view Jan Uhlik’s dotfiles on GitLab as an example.

[Read More]