Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rebase-merges: improve --rebase-merges label generation #2315

Merged
merged 1 commit into from Sep 2, 2019

Conversation

@ROGERSM94
Copy link

ROGERSM94 commented Aug 29, 2019

Resolves #2307 by replacing all non-alphanumeric ascii characters with '-' and appending an _ to prevent clashes with reserved windows filenames.

@ROGERSM94 ROGERSM94 force-pushed the ROGERSM94:fix-rebase branch 2 times, most recently from a0c75b3 to ce33c83 Aug 29, 2019
@PhilipOakley

This comment has been minimized.

Copy link

PhilipOakley commented Aug 30, 2019

I believe the sign off should be the proper name you go by, rather than an abbreviation.

If changing the commit message, you should mention that the underlying issue is in the allowable characters on NTFS and FAT file systems as the label names effectively create refs on the file system.
(i.e. tell about the underlying symptom, rather than the code change, which is obvious).

A simple force push of the updated PR branch is all that's needed to do an update.

Otherwise LGTM. At least it fixes the primary problem of colon characters in merge messages.

sequencer.c Outdated Show resolved Hide resolved
@ROGERSM94 ROGERSM94 force-pushed the ROGERSM94:fix-rebase branch from ce33c83 to f833867 Aug 31, 2019
@ROGERSM94

This comment has been minimized.

Copy link
Author

ROGERSM94 commented Aug 31, 2019

Hope this update makes it look a bit better

Copy link
Member

dscho left a comment

I left two comments, but I think I can take it from here.

sequencer.c Outdated Show resolved Hide resolved
sequencer.c Show resolved Hide resolved
The `label` todo command in interactive rebases creates temporary refs
in the `refs/rewritten/` namespace. These refs are stored as loose refs,
i.e. as files in `.git/refs/rewritten/`, therefore they have to conform
with file name limitations on the current filesystem.

This poses a problem in particular on NTFS/FAT, where e.g. the colon
character is not a valid part of a file name.

Let's safeguard against this by replacing not only white-space
characters by dashes, but all non-alpha-numeric ones.

However, we exempt non-ASCII UTF-8 characters from that, as it should be
quite possible to reflect branch names such as `↯↯↯` in refs/file names.

Signed-off-by: Matthew Rogers <mattr94@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho force-pushed the ROGERSM94:fix-rebase branch from f833867 to d3d6c4e Sep 2, 2019
@dscho dscho merged commit de7827b into git-for-windows:master Sep 2, 2019
1 of 12 checks passed
1 of 12 checks passed
git-for-windows.git (Documentation) Documentation failed
Details
git-for-windows.git (GETTEXT_POISON) GETTEXT_POISON failed
Details
git-for-windows.git (Linux32) Linux32 failed
Details
git-for-windows.git (StaticAnalysis) StaticAnalysis failed
Details
git-for-windows.git (Windows (MSVC) Build) Windows (MSVC) Build failed
Details
git-for-windows.git (Windows Build) Windows Build failed
Details
git-for-windows.git (linux-clang) linux-clang failed
Details
git-for-windows.git (linux-gcc) linux-gcc failed
Details
git-for-windows.git (osx-clang) osx-clang failed
Details
git-for-windows.git (osx-gcc) osx-gcc failed
Details
git-for-windows.git
Details
DCO DCO
Details
@dscho dscho added this to the v2.23.0(2) milestone Sep 2, 2019
git-for-windows-ci pushed a commit that referenced this pull request Sep 2, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 2, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 2, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Sep 2, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 3, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Sep 9, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Sep 10, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Sep 10, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Sep 11, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 12, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 13, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 16, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 16, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Sep 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 17, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 18, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 18, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 18, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit to dscho/git that referenced this pull request Oct 18, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit to dscho/git that referenced this pull request Oct 18, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 20, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 20, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 21, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 21, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 21, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 22, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 22, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Oct 23, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 24, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 24, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Oct 24, 2019
rebase-merges: improve --rebase-merges label generation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.