From: David Greaves <david@dgreaves.com>
To: Petr Baudis <pasky@ucw.cz>
Cc: GIT Mailing Lists <git@vger.kernel.org>
Subject: Re: [PATCH 2/2] update cg-* to use cg-Xignore
Date: Sat, 14 May 2005 09:24:42 +0100 [thread overview]
Message-ID: <4285B5CA.8060106@dgreaves.com> (raw)
In-Reply-To: <20050513225516.GG32232@pasky.ji.cz>
Petr Baudis wrote:
>Dear diary, on Sat, May 14, 2005 at 12:32:22AM CEST, I got a letter
>where David Greaves <david@dgreaves.com> told me that...
>
>
>>Updated
>> cg-add
>> cg-commit
>>
>>
>
>I consider this Bad Thing (tm). Or could you please point a situation
>where this would be actually useful? If you explicitly cg-add, you
>likely know what are you doing, and same thing with cg-commit - if it's
>already added, it should be watches, no matter what ignore patterns, I
>think.
>
>
OK, lets say I'm clever and know what an ignore pattern is.
I can
find * | xargs cg-add
my laziness something my hubris acknowledges :)
And in fact this has come up a few times on the list already - it was
that code snippet in cg-init that caused me to create cg-Xignore because
as someone pointed out, even finding files/links would still cause probs
with files beginning with '.'
does that sway you?
>>--- d2490ad0bc8b38647c6baff9da3e72c0f25e9f35/cg-commit (mode:100755)
>>+++ 03662df7d089d4a84987ef9edb50a017b8b42439/cg-commit (mode:100755)
>>@@ -65,6 +65,15 @@
>> [ -s $_git/merging ] && merging=$(cat $_git/merging | sed 's/^/-p /')
>> fi
>>
>>+# strip ignored files - *1 at a time* - any attempt to stream from 1
>>+# while loop to another uses a subprocess and can't pass the variable
>>+# back
>>+# Also I don't know if this can be put in a shell function
>>+for file in ${commitfiles[@]}
>>+ do
>>+ commitfiles[$i]=`echo $file | cg-Xignore`
>>+ ((i++))
>>+done
>>
>> LOGMSG=$(mktemp -t gitci.XXXXXX)
>> LOGMSG2=$(mktemp -t gitci.XXXXXX)
>>
>>
>
>The variable? What variable?
>
>
well basically we want to edit the commitfiles variable - perl map()
a more efficient method in shell appears to be:
foreach file in commitfiles; echo file | filter | read into commitfiles
I spent ages trying not to exec a cg-Ignore process per file comparison
>>Index: cg-status
>>===================================================================
>>--- d2490ad0bc8b38647c6baff9da3e72c0f25e9f35/cg-status (mode:100755)
>>+++ 03662df7d089d4a84987ef9edb50a017b8b42439/cg-status (mode:100755)
>>@@ -15,21 +15,11 @@
>>
>> {
>> git-ls-files -z -t --others --deleted --unmerged $EXCLUDE
>>-} | sort -z -k 2 | xargs -0 sh -c '
>>-while [ "$1" ]; do
>>- tag=${1% *};
>>- filename=${1#* };
>>- case "$filename" in
>>- *.[ao] | tags | ,,merge*) ;;
>>- *) echo "$tag $filename";;
>>- esac
>>- shift
>>-done
>>-' padding
>>+} | sort -z -k 2 | cg-Xignore -0 -t | tr "\000" "\n"
>>
>>
>
>So you have two ignores now - exclude and Xignore.
>
>
No, cogito has an ignore.
git has a less powerful exclude.
cogito users won't need exclude but power-users aren't barred from it.
David
--
next prev parent reply other threads:[~2005-05-14 8:25 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-13 22:32 [PATCH 2/2] update cg-* to use cg-Xignore David Greaves
2005-05-13 22:55 ` Petr Baudis
2005-05-14 8:24 ` David Greaves [this message]
2005-05-14 12:18 ` Petr Baudis
2005-05-14 14:44 ` David Greaves
2005-05-14 15:14 ` Petr Baudis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4285B5CA.8060106@dgreaves.com \
--to=david@dgreaves.com \
--cc=git@vger.kernel.org \
--cc=pasky@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).