Re: git fails with control characters in trunk directory name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Alex,

> 2009/5/11 Hugo Mildenberger <Hugo.Mildenberger@xxxxxxxx>:
> > Using the mouse to paste a git url from a website into a terminal session
> > in order to clone the repository, I recently managed to include invisible
> > control characters into the git trunk directory name.
>
> Git has no "trunk". Not in CVS/CVN sense, at least
>
> > Consequently, I faced all sort of strange behaviour like git pull not
> > working (error 2), later on a kernel make which supposedly could not
> > finding a rule to create the trunk directory and more such
> > inconsistencies.
> > I then reinstalled git, rcs and so on and also tried unsuccessfully
> > several git versions. The next morning I looked into the .git/config file
> > and recognized that the "url" key value within the [remote "origin"]
> > section contained some control characters: ^J and \n, as fas as I
> > remember.
>
> What platform are you on?
> Can you show your .git/config?
>
> > While this was almost entirely my fault, git could possibly apply a
> > filter, reject such a name or at least issue a warning.
>
> Maybe. Or maybe it can just work (well, assuming the user meant to
> use an url with character you considered "control").

I said it actually did not work well, independent from how anyone prefers to 
classify characters. My platform is Gentoo-hardened with unicode support and 
an ext3 disk format .  With "trunk directory"  I meant the top level 
directory which is created when you run git clone on a remote url -- sorry 
for still not being a native git speaker. I don't have the original setup 
anymore. My _working_ ".git/config" is now:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = 
git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-testing.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

The remote url did contain something like "^J\n" at the end, as did the top 
level (the much derided "trunk") directory name on disk. I probably got there 
by puting the copied url within quotes on the command line, but today I'm  
unsure exactly how I arrived there. However, old fashioned as I am, I still 
consider e.g. a linefeed to be a "control character", and inspite of your 
flashing git punditry I still consider this to be an issue.


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]