git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC/PATCH 2/2] doc: command line interface (cli) dot-repository dwimmery

From
Philip Oakley <philipoakley@iee.org>
Date
May 20, 2013, 21:09 UTC
Message-ID
<BDA138F1A58247F4A4940B3436A94485@PhilipOakley>
In-Reply-To
<7v38thwn6l.fsf@alter.siamese.dyndns.org>
From: "Junio C Hamano" <gitster@pobox.com>
Sent: Monday, May 20, 2013 6:55 PM
Show 25 quoted lines
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>>> --- a/Documentation/gitcli.txt
>>> +++ b/Documentation/gitcli.txt
>>> @@ -59,6 +59,10 @@ working tree.  After running `git add hello.c; rm 
>>> hello.c`, you will _not_
>>>  see `hello.c` in your working tree with the former, but with the 
>>> latter
>>>  you will.
>>>
>>> +Just as, by convention, the filesystem '.' refers to the current 
>>> directory,
>>> +using a '.' (period) as a repository name in Git (a dot-repository) 
>>> refers
>>> +to your local repository.
>>
>> Good idea, but I fear that no one would find it there.
>
> Also I think it would be better without ", by convention,".  If you
> say '.' == current directory is "a convention", you have to start
> saying that "by convention", "hello.c" refers to the file in the
> current directory of that name, which may be technically correct but
> make the phrase "by convention" meaningless.  A dot "."  is *the*
> name for the current directory, just like "hello.c" is the name for
> that file.

The part I had previously needed clearing up was if the '.' was in some way expanded by the shell, or whether the file system commands interpreted it by themselves for that specific purpose. So in this case Git sees the single character and has to decide what to do with it.

Show 13 quoted lines
>
>    Just like '.' refers to the current directory in the filesystem, 
> '.'
>    refers to the current repository.
>
> would be sufficient.
>
>> Would it make sense to put this in Documentation/urls.txt (aka the
>> "GIT URLS" section of git-fetch(1) and git-clone(1)), where other URL
>> schemes are documented?
>
> Yes, the '.' described above is a special case of giving a
> repository URL as a relative-path on the filesystem.

So we can have a branch whose remote is '.' _and_ a remote whose URL is '.'

Hence we/one/I could declare a remote called 'home' whose URL is '.' (with my 'away' remote on Github - just thinking aloud of the upstream / downstream / across-stream discussions!)

Can there be a clash with a named remote that is actually '.', where the push/fetch is actually a no-op?

Philip 
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 33 in “Extend dot repository documentation”
  1. 0/2 Extend dot repository documentationPhilip Oakley, May 19, 2013
  2. 1/2 config doc: add dot-repository notePhilip Oakley, May 19, 2013
  3. Jonathan NiederMay 19, 2013
  4. Junio C HamanoMay 20, 2013
  5. Philip OakleyMay 20, 2013
  6. 2/2 doc: command line interface (cli) dot-repository dwimmeryPhilip Oakley, May 19, 2013
  7. Jonathan NiederMay 19, 2013
  8. Philip OakleyMay 19, 2013
  9. Junio C HamanoMay 20, 2013
  10. Philip OakleyMay 20, 2013
  11. Junio C HamanoMay 20, 2013
  12. Philip OakleyMay 21, 2013
  13. Junio C HamanoMay 21, 2013
  14. Felipe ContrerasMay 21, 2013
  15. Philip OakleyMay 21, 2013
  16. Felipe ContrerasMay 21, 2013
  17. Junio C HamanoMay 21, 2013
  18. Felipe ContrerasMay 22, 2013
  19. Junio C HamanoMay 22, 2013
  20. Felipe ContrerasMay 22, 2013
  21. Junio C HamanoMay 22, 2013
  22. Felipe ContrerasMay 22, 2013
  23. Philip OakleyMay 22, 2013
  24. Felipe ContrerasMay 22, 2013
  25. 0/3 Extend dot repository documentationPhilip Oakley, Sep 13, 2013
  26. 1/3 Doc URLs: relative paths imply the dot-respositoryPhilip Oakley, Sep 13, 2013
  27. Junio C HamanoSep 13, 2013
  28. Philip OakleySep 14, 2013
  29. 2/3 config doc: update dot-repository notesPhilip Oakley, Sep 13, 2013
  30. Junio C HamanoSep 13, 2013
  31. Philip OakleySep 14, 2013
  32. 3/3 doc: command line interface (cli) dot-repository dwimmeryPhilip Oakley, Sep 13, 2013
  33. Junio C HamanoSep 13, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.