Skip to content

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

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

Merged
merged 1 commit into from
Sep 2, 2019

Conversation

ROGERSM94
Copy link

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 fix-rebase branch 2 times, most recently from a0c75b3 to ce33c83 Compare August 30, 2019 02:29
@PhilipOakley
Copy link

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.

@ROGERSM94
Copy link
Author

Hope this update makes it look a bit better

Copy link
Member

@dscho dscho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

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 <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho merged commit de7827b into git-for-windows:master Sep 2, 2019
@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
dscho added a commit that referenced this pull request Nov 6, 2019
rebase-merges: improve --rebase-merges label generation
@ROGERSM94 ROGERSM94 deleted the fix-rebase branch November 8, 2019 20:56
git-for-windows-ci pushed a commit that referenced this pull request Nov 11, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Nov 11, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Nov 13, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Nov 15, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 16, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 16, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 16, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 16, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 20, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 25, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Nov 25, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Nov 26, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Dec 2, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Dec 7, 2019
rebase-merges: improve --rebase-merges label generation
dscho added a commit that referenced this pull request Dec 10, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Dec 10, 2019
rebase-merges: improve --rebase-merges label generation
git-for-windows-ci pushed a commit that referenced this pull request Dec 13, 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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rebase with --rebase-merges fails to create refs with valid names
3 participants