On Tue, May 9, 2017 at 2:48 PM, Sebastian Gniazdowski <pspr...@zdharma.org> wrote: > Hello > I wonder about usability of following tool. Quick-start: > > giturl https://github.com/zdharma/giturl -r devel -p > lib/coding_functions.cpp > > Protocol: https > Site: github.com > Repo: zdharma/giturl > Revision: devel > File: lib/coding_functions.cpp > > gitu://ŬṽǚǫoŒẗ6ẏȅcЭÑẩőn4ầŘїệαЃȣϟṈӛŀї > > It does Huffman encoding and base-1024 encoding to pack given data into > single URL. The Unicode characters selected for base-1024 encoding are > letters, not symbols, so double-clicking in e.g. web browser selects the > whole code, making it easy to grab a repository data. > > Decoding: > > giturl -qd ŬṽǚǫoŒẗ6ẏȅcЭÑẩőn4ầŘїệαЃȣϟṈӛŀї > https://github.com/zdharma/giturl / rev:devel / > file:lib/coding_functions.cpp > > I can also encode commits relative to given revision, e.g. bits 10011 are > commits 1, 4, 5. Easy to add to the g-code. Selecting 10th commit is only 1 > character in base-1024. > > However I wonder if this has any uses. Could be patches sent this way? Having > refs/patches/<name>, encoding <name> in URL, sending it instead of > inlining/attaching a diff, selecting e.g. 3 commits via the bit-mask > mentioned. That said, it's more about easy-grab of repository data and > storage in well-defined, consistent format, not in language "the branch is > ..., commit a7a35cb". Does this make sense? > > There are 2 implementations, in Zsh (uses Zshell like e.g. Ruby, not > interactively) and C++11 (mostly because of std::regex): > > https://github.com/zdharma/giturl > https://github.com/zdharma/cgiturl
This looks really cool. Yeah patches can be sent this way, see Documentation/SubmittingPatches in the git.git repository, online version: https://github.com/git/git/blob/master/Documentation/SubmittingPatches