Thread (6 messages) flat view 6 messages, 4 authors, 2016-06-15

Re: [PATCH v2] Remove useless uses of cat, and replace with filename arguments or redirection

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:14

Hi,

On Wed, 6 Jun 2007, Josh Triplett wrote:
Junio C Hamano wrote:
quoted
Josh Triplett [off-list ref] writes:
quoted
Replace all uses of cat that do nothing other than read a single file.  In the
case of git-quilt-import, this occurs once per patch.

Signed-off-by: Josh Triplett <redacted>
---

This revised version fixes a bug caught by Stephen Rothwell: the output of wc
-l changes when it has a filename on the command line.  The same bug occurred
in one other place as well.
Hmph...
quoted
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 0c8a7df..346cf3f 100644
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -333,7 +333,7 @@ for commit in $unchanged; do
 done
 
 git-rev-list --reverse --topo-order $srcbranch --not $unchanged >../revs
-commits=$(cat ../revs | wc -l | tr -d " ")
+commits=$(wc -l ../revs | tr -d -c 0-9)
... and left unfixed ;-)?
No, just fixed differently. :) Note the change to the tr invocation: delete
everything other than digits.
Actually, it feels wrong. For example, if some wc some day decides to 
display the size in kilobyte, even if you say "-l", it would fail badly. 
That is, it would fail to function properly, but would not tell you that 
it failed.

Things like that are known to happen, and that's why "wc -l < file" is a 
better fix than "wc -l file | tr -dc 0-9". In this case, it might not 
matter for a long time, but why not stop being sloppy here and now?

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help