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

Fixed another "source and destination both remote" error case. (Windows) #62

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

AndrewJDR
Copy link

So I originally addressed an issue like this in PR #36 with rsyncd shares, but it also seems to crop up with plain old rsync+ssh paths.

I'll let the updated code comment do most of the talking, but basically rsync thinks there are two remotes being specified if both the source path contains a colon (e.g. c:/some/path) and the remote also contains a colon (example.org:/some/path). This code translates local "c:/" style paths to "/c" style paths to get around this. The result being an error message from rsync and a failed git fat push.

This seems like a common case so I'm surprised it hasn't been happening to others. That said, maybe there aren't many windows git-fat users out there...

@abraithwaite
Copy link

If I were to guess, you're probably the only one using this feature.

Is there any possibility that it might break something elsewhere for other people using windows?

@AndrewJDR
Copy link
Author

If you mean rsyncd remotes, I agree I'm probably the only one using that, but ssh+rsync remotes?

I assume a ssh+rsync remote is typical use case (how else do you "git fat push"?), and it was still exhibiting the issue for me, so that's what I was referring to when I said "I'm surprised it hasn't been happening to others". :)

I think that possibility exists of outside breakage, yes. I haven't done extensive testing. It would definitely be good to discover why others aren't already having this problem on windows.

@abraithwaite
Copy link

It's probably not handled well in the code itself, irrespective of your patch. We're not escaping colons in the path but they don't appear terribly frequently on unix systems.

I'm not sure what the appropriate way to escape them would be for rsync. I'm guessing different implementations have different ways of escaping it, but I'll look into it.

@cztomczak
Copy link

ssh and rsync were tested on Windows by me and worked fine. I don't remember what was the remote url.

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.

3 participants