Hi, On Thu, 11 Jan 2007, Johannes Schindelin wrote: > On Wed, 10 Jan 2007, Junio C Hamano wrote: > > > Johannes Schindelin <Johannes.Schindelin@xxxxxx> 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'; [...] - 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