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

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

 



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

[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]