aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.README.md
blob: c309786bdf83d4fc85559a95ef45b50378ba4712 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Cygwin configuration files
==========================

My Cygwin home (`~`) configuration files.

Deployment
----------

To deploy on a fresh Cygwin installation, execute the lines below.
**Be careful** though, some of your files might get **deleted**.
Namely, your ".gitignore" file (if present) will be overwritten and basically
all of your files this repository isn't aware of will be deleted.
Execute the lines below one-by-one and, **most importantly**, review the list
of files `git clean` will delete by adding the `--dry-run` parameter.

    git init
    curl --silent --show-error --location https://github.com/egor-tensin/cygwin_home/raw/master/.gitignore > .gitignore
    git clean -d --force

    git remote add origin git@github.com:egor-tensin/cygwin-home.git
    git pull origin master
    git branch --set-upstream-to=origin/master master

The deployment should preferably take place right after you install Cygwin.

`git` doesn't preserve file permissions.
After the deployment, anyone will be able to read any of the files in the
repository.
To adjust the permissions so that only you can read the files, `source`
".bashrc" (`bash` does this automatically) and execute:

    cd && tighten_up_file_permissions_in_repo

This also makes sure the directories in the repository are accessible only by
yourself (including the ".git" directory).

The important thing to note is that the permissions are reset each time `git`
writes to a file.
It is thus necessary to execute the line above after each invokation of `git
pull`, `git checkout`, etc.