Add git-config option to set rsync put flags
authorTravis Chen <travis.chen@everchanging.dev>
Sat, 8 Feb 2020 19:46:30 +0000 (11:46 -0800)
committerSean Whitton <spwhitton@spwhitton.name>
Sun, 9 Feb 2020 02:16:48 +0000 (19:16 -0700)
commitedd068e4680171b382dd69faf91609faee4e2549
treee14175e9f0be0ceb7203cb569febb5566da95fbd
parent274869b797374470ced9224c8e5a3c8c7d81b4f6
Add git-config option to set rsync put flags

Provide the ability to pass flags to `rsync` when uploading.

There are two ways to set the configuration:

- `gcrypt.rsync-put-flags`
- `remote.<name>.gcrypt-rsync-put-flags`

The flags will be applied to `rsync` during uploading when using the `rsync://`
backend. If `remote.<name>.gcrypt-rsync-put-flags` is set, the flags set in
`gcrypt.rsync-put-flags` will not be applied to the remote `<name>`.

This change also includes documentation.

We have tested with the following configurations:

1. none set
2. `git config gcrypt.rsync-put-flags "--perms --chmod=g+rX"`
3. `git config remote.<name>.rsync-put-flags "--perms --chmod=o+rX"`
4. both (2) and (3)

All local files start with only owner permissions set, and umask is set to 077.
In (1), no change in behavior as before, as expected. In (2), the remote files
have the group permissions set, as expected. In (3), the remote files have the
other permissions set, as expected. In (4), the remote files have the other
permissions set, but do not have the group permissions set, as expected.

Signed-off-by: Travis Chen <travis.chen@everchanging.dev>
README.rst
git-remote-gcrypt