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

Re: 'git clone,' build makes user non-writable files (should be option keep user-writable)

From
David Chmelik <davidnchmelik@gmail.com>
Date
Aug 2, 2022, 14:34 UTC
Message-ID
<c0bc2741-092b-273c-ddf4-a2c9d90da6bf@gmail.com>
In-Reply-To
<CAPx1GvceFLRL_O5zYW98tPdNV9S_Y=fChJafsq+HGkEYixKsZA@mail.gmail.com>
On 7/22/22 8:54 PM, Chris Torek wrote:
Show 13 quoted lines
> On Fri, Jul 22, 2022 at 5:29 PM David Chmelik<davidnchmelik@gmail.com>  wrote:
>> On 7/22/22 10:40 AM, Chris Torek wrote:
>>> All true.  But Git has no control over, or affect on these: Git does
>>> not attempt to affect ownership or permission of any build products
>>> at all.  Git only attempts to affect the execute permission of
>>> specific files as directed by the committed file mode (and provided
>>> `core.filemode` is enabled).
>> Not even projects' .git* subdirectories?  They typically are/become
>> user-non-writable though deletable with several/many confirmations so I
>> usually sudo (recommended against).
> Ah, I thought you were (and I definitely was) talking only about the
> *build products*. The stuff inside `.git` itself: some of that, Git does set
> to non-writable.

Initially wasn't; don't know why took three replies to clear up (initially clearly specified non-root usage which others ignored and mentioned/focused unrelated root topic).

> There is no need to use `sudo` though: a simple
> "rm -rf .git" will blow away the Git repository itself.  However:

Still fewer confirmations with sudo (one rather than every single user-non-writable file).

Show 6 quoted lines
>> I'd rather opt-out of .git* subdirectories for every clone.
> In that case, *don't run `git clone in the first place*. The purpose of
> `git clone` is to get you the entire repository. If you want a single working
> tree, use `git archive` to make an archive from the commit you want,
> and extract that archive to get the tree you want, without getting all
> the *other* revisions.

Seems much more complicated (and less-documented) and most popular git sites (though the #1 isn't Free/Libre/Opensource Software (FLS, OSS, FOSS, FLOSS) so is condemned) allow clone but not archive.  I know you can't control their mistakes and they should be irrelevant (unfortunately most projects use most popular/broken sites) but couldn't there be more (detailed and/or easier) syntax?

Previous: Chris TorekNext: David Chmelik
Message 7 of 8 in “'git clone,' build makes user non-writable files (should be option keep user-writable)”
  1. David ChmelikJul 15, 2022
  2. Beat BolliJul 17, 2022
  3. David ChmelikJul 22, 2022
  4. Đoàn Trần Công DanhJul 23, 2022
  5. David ChmelikJul 23, 2022
  6. Chris TorekJul 23, 2022
  7. David ChmelikAug 2, 2022
  8. David ChmelikAug 9, 2022

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.