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

Re: [PATCH] Makefile: add clean-obsolete-scripts target

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 11, 2007, 08:32 UTC
Message-ID
<Pine.LNX.4.63.0701110929400.22628@wbgn013.biozentrum.uni-wuerzburg.de>
In-Reply-To
<Pine.LNX.4.63.0701110919040.22628@wbgn013.biozentrum.uni-wuerzburg.de>
Hi,
On Thu, 11 Jan 2007, Johannes Schindelin wrote:
Show 24 quoted lines
> On Wed, 10 Jan 2007, Junio C Hamano wrote:
> 
> > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> > 
> > > On Cygwin, newly builtins are not recognized, because there exist both
> > > the executable binaries (with .exe extension) _and_ the now-obsolete
> > > scripts (without extension), but the script is executed.
> > >
> > > "make clean-obsolete-scripts" removes these ambiguities by removing the
> > > older of these file pairs.
> > 
> > I would prefer it to be rather automatic -- how about this instead?
> 
> I like your method better. However, does it execute an rm -f for _every_ 
> builtin, even if it does not exist? This is a huge performance eater on 
> cygwin. Every fork() is _expensive_.
> 
> Even worse: are you sure that it does not remove the _builtins_? Maybe you 
> noticed that I asked for "git-bla." instead of "git-bla", since the latter 
> will happily access "git-bla.exe" (at least when you do an "ls git-bla" 
> and "git-bla.exe" exists, but not "git-bla", it _will_ show 
> the metadata of "git-bla.exe", but with the name "git-bla").
> 
> Will test.

Okay, I tested. And it works, indeed. No idea why, though. And while it looks a bit strange [*1*], the performance is not as bad as I expected.

Ciao, Dscho

[*1*]

$ make [...] rm -f git-pack-refs.exe && ln git.exe git-pack-refs.exe rm -f 'git-convert-objects'; rm -f 'git-fetch-pack'; rm -f 'git-fsck-objects'; rm -f 'git-hash-object'; rm -f 'git-index-pack'; rm -f 'git-local-fetch'; rm -f 'git-daemon'; rm -f 'git-merge-index'; rm -f 'git-mktag'; rm -f 'git-mktree'; rm -f 'git-patch-id'; rm -f 'git-peek-remote'; rm -f 'git-receive-pack'; rm -f 'git-send-pack'; rm -f 'git-shell'; rm -f 'git-show-index'; rm -f 'git-ssh-fetch'; rm -f 'git-ssh-upload'; rm -f 'git-unpack-file'; rm -f 'git-update-server-info'; rm -f 'git-upload-pack'; rm -f 'git-verify-pack'; rm -f 'git-pack-redundant'; rm -f 'git-var'; rm -f 'git-merge-tree'; rm -f 'git-imap-send'; rm -f 'git-merge-recursive'; rm -f 'git-ssh-pull'; rm -f 'git-ssh-push'; rm -f 'git-http-fetch'; rm -f 'git-http-push'; rm -f 'git-merge-recur'; rm -f 'git-format-patch'; rm -f 'git-show'; rm -f 'git-whatchanged'; rm -f 'git-cherry'; rm -f 'git-get-tar-commit-id'; rm -f 'git-init'; rm -f 'git-add'; rm -f 'git-annotate'; rm -f 'git-apply'; rm -f 'git-archive'; rm -f 'git-blame'; rm -f 'git-branch'; rm -f 'git-cat-file'; rm -f 'git-checkout-index'; rm -f 'git-check-ref-format'; rm -f 'git-commit-tree'; rm -f 'git-count-objects'; rm -f 'git-describe'; rm -f 'git-diff'; rm -f 'git-diff-files'; rm -f 'git-diff-index'; rm -f 'git-diff-stages'; rm -f 'git-diff-tree'; rm -f 'git-fmt-merge-msg'; rm -f 'git-for-each-ref'; rm -f 'git-grep'; rm -f 'git-init-db'; rm -f 'git-log'; rm -f 'git-ls-files'; rm -f 'git-ls-tree'; rm -f 'git-mailinfo'; rm -f 'git-mailsplit'; rm -f 'git-merge-base'; rm -f 'git-merge-file'; rm -f 'git-mv'; rm -f 'git-name-rev'; rm -f 'git-pack-objects'; rm -f 'git-prune'; rm -f 'git-prune-packed'; rm -f 'git-push'; rm -f 'git-read-tree'; rm -f 'git-reflog'; rm -f 'git-repo-config'; rm -f 'git-rerere'; rm -f 'git-rev-list'; rm -f 'git-rev-parse'; rm -f 'git-rm'; rm -f 'git-runstatus'; rm -f 'git-shortlog'; rm -f 'git-show-branch'; rm -f 'git-stripspace'; rm -f 'git-symbolic-ref'; rm -f 'git-tar-tree'; rm -f 'git-unpack-objects'; rm -f 'git-update-index'; rm -f 'git-update-ref'; rm -f 'git-upload-archive'; rm -f 'git-verify-pack'; rm -f 'git-write-tree'; rm -f 'git-show-ref'; rm -f 'git-pack-refs'; rm -f 'git'; [...]

Previous: Johannes Schindelin
Message 10 of 10 in “Makefile: add clean-obsolete-scripts target”
  1. Makefile: add clean-obsolete-scripts targetJohannes Schindelin, Jan 10, 2007
  2. Alex RiesenJan 10, 2007
  3. Johannes SchindelinJan 10, 2007
  4. Alex RiesenJan 10, 2007
  5. Junio C HamanoJan 10, 2007
  6. Alex RiesenJan 10, 2007
  7. Junio C HamanoJan 11, 2007
  8. Alex RiesenJan 11, 2007
  9. Johannes SchindelinJan 11, 2007
  10. Johannes SchindelinJan 11, 2007

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.