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

[PATCH 4/6] cogito-gnu-progs: parameterize cogito

From
Bryan Larsen <bryanlarsen@yahoo.com>
Date
Jul 11, 2005, 10:15 UTC
Message-ID
<20050711101507.10318.54730.sendpatchset@bryan-larsens-ibook-g4.local>
In-Reply-To
<20050711101417.10318.64006.sendpatchset@bryan-larsens-ibook-g4.local>
Patch cogito so that the utilities 'cp' 'stat' 'xargs' and 'date' are configurable.  Cogito requires the gnu versions of these tools, and on some BSD derived systems, the gnu versions of these tools have a different name.
Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>
---
 cg-Xlib    |   15 ++++++++++-----
 cg-Xnormid |    2 +-
 cg-add     |    2 +-
 cg-commit  |    4 ++--
 cg-diff    |    4 ++--
 cg-init    |    4 ++--
 cg-patch   |    2 +-
 cg-pull    |    2 +-
 8 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/cg-Xlib b/cg-Xlib
--- a/cg-Xlib
+++ b/cg-Xlib
@@ -6,6 +6,11 @@
 # This file provides a library containing common code shared with all the
 # Cogito programs.
 
+DATE=date
+CP=cp
+XARGS=xargs
+STAT=stat
+
 _cg_cmd=${0##*/}
 
 _git=${GIT_DIR:-.git}
@@ -70,9 +75,9 @@ showdate () {
 	secs=$(($secs + $tzhours * 3600 + $tzmins * 60))
 	[ "$format" ] || format="+%a, %d %b %Y %H:%M:%S $2"
 	if [ "$has_gnudate" ]; then
-		LANG=C date -ud "1970-01-01 UTC + $secs sec" "$format"
+		LANG=C ${DATE} -ud "1970-01-01 UTC + $secs sec" "$format"
 	else
-		LANG=C date -u -r $secs "$format"
+		LANG=C ${DATE} -u -r $secs "$format"
 	fi
 }
 
@@ -104,7 +109,7 @@ tree_timewarp () {
 	[ "$no_head_update" ] || echo "$branch" > $_git/HEAD
 
 	# Kill gone files
-	git-diff-tree -z -r $base $branch | xargs -0 bash -c '
+	git-diff-tree -z -r $base $branch | ${XARGS} -0 bash -c '
 		while [ "$1" ]; do
 			header="$1"; shift
 			file="$1"; shift
@@ -234,5 +239,5 @@ fi
 
 export BROKEN_MKTEMP=1
 del=$($(which mktemp) -t 2>/dev/null) && { rm $del; export BROKEN_MKTEMP=; }
-has_stat=$(which stat 2>/dev/null)
-has_gnudate=$(date -Rud "1970-01-01 UTC" 2>/dev/null)
+has_stat=$(which ${STAT} 2>/dev/null)
+has_gnudate=$(${DATE} -Rud "1970-01-01 UTC" 2>/dev/null)
diff --git a/cg-Xnormid b/cg-Xnormid
--- a/cg-Xnormid
+++ b/cg-Xnormid
@@ -50,7 +50,7 @@ fi
 
 valid=; [ ${#id} -eq 40 ] && [ "$(git-rev-parse --revs-only "$id")" ] && valid=1
 if ([ "$id" ] && [ "$id" != " " ]) && [ ! "$valid" ]; then
-	reqsecs=$(date --date="$id" +'%s' 2>/dev/null)
+	reqsecs=$(${DATE} --date="$id" +'%s' 2>/dev/null)
 
 	if [ "$reqsecs" ]; then
 		id=$(git-rev-list --min-age=$reqsecs --max-count=1 HEAD)
diff --git a/cg-add b/cg-add
--- a/cg-add
+++ b/cg-add
@@ -43,6 +43,6 @@ find "${ARGS[@]}" -type f -print0 > $TMP
 }
 
 cat $TMPFILE | tr '\0' '\n' | sed 's/^/Adding file /'
-cat $TMPFILE | xargs -0r git-update-cache --add ${infoonly} --
+cat $TMPFILE | ${XARGS} -0r git-update-cache --add ${infoonly} --
 
 rm $TMPFILE
diff --git a/cg-commit b/cg-commit
--- a/cg-commit
+++ b/cg-commit
@@ -168,7 +168,7 @@ written=
 if [ "$merging" ]; then
 	echo -n 'Merge with ' >>$LOGMSG
 	[ "$msgs" ] && echo -n 'Merge with '
-	[ -s $_git/merging-sym ] || cp $_git/merging $_git/merging-sym
+	[ -s $_git/merging-sym ] || ${CP} $_git/merging $_git/merging-sym
 	for sym in $(cat $_git/merging-sym); do
 		uri=$(cat $_git/branches/$sym)
 		[ "$uri" ] || uri="$sym"
@@ -229,7 +229,7 @@ fi
 echo "CG: -----------------------------------------------------------------------" >>$LOGMSG
 echo "CG: vim: textwidth=75" >>$LOGMSG
 
-cp $LOGMSG $LOGMSG2
+${CP} $LOGMSG $LOGMSG2
 if tty -s; then
 	if ! [ "$msgs" ] || [ "$forceeditor" ]; then
 		${EDITOR:-vi} $LOGMSG2
diff --git a/cg-diff b/cg-diff
--- a/cg-diff
+++ b/cg-diff
@@ -155,7 +155,7 @@ if [ "$id2" = " " ]; then
 	# FIXME: Update ret based on what did we match. And take "$@"
 	# to account after all.
 	ret=
-	cat $filter | xargs git-diff-cache -r -p $tree | colorize | pager
+	cat $filter | ${XARGS} git-diff-cache -r -p $tree | colorize | pager
 
 	rm $filter
 
@@ -169,7 +169,7 @@ id2=$(tree-id "$id2") || exit 1
 
 [ "$id1" = "$id2" ] && die "trying to diff $id1 against itself"
 
-cat $filter | xargs git-diff-tree -r -p $id1 $id2 | colorize | pager
+cat $filter | ${XARGS} git-diff-tree -r -p $id1 $id2 | colorize | pager
 
 rm $filter
 exit 0
diff --git a/cg-init b/cg-init
--- a/cg-init
+++ b/cg-init
@@ -47,7 +47,7 @@ if [ "$uri" ]; then
 	echo "$uri" >$_git/branches/origin
 	cg-pull origin || die "pull failed"
 
-	cp $_git/refs/heads/origin $_git/refs/heads/master
+	${CP} $_git/refs/heads/origin $_git/refs/heads/master
 	git-read-tree HEAD
 	git-checkout-cache -a
 	git-update-cache --refresh
@@ -55,7 +55,7 @@ if [ "$uri" ]; then
 	echo "Cloned (origin $uri available as branch \"origin\")"
 else
 	git-read-tree # Seed the dircache
-	find * \( -type f -o -type l \) -print0 | xargs -0r cg-add ${infoonly}
+	find * \( -type f -o -type l \) -print0 | ${XARGS} -0r cg-add ${infoonly}
 	cg-commit -C -m"Initial commit" -E ${infoonly}
 fi
 
diff --git a/cg-patch b/cg-patch
--- a/cg-patch
+++ b/cg-patch
@@ -129,7 +129,7 @@ wait
 touchfiles="$(git-ls-files --deleted | join -v 2 $gonefile -)"
 [ "$touchfiles" ] && touch $touchfiles
 
-cat $todo | xargs -0 bash -c '
+cat $todo | ${XARGS} -0 bash -c '
 while [ "$1" ]; do
 	op="$1"; shift;
 	case "$op" in
diff --git a/cg-pull b/cg-pull
--- a/cg-pull
+++ b/cg-pull
@@ -233,7 +233,7 @@ fetch_local () {
 	dest="$2"
 	[ "$cut_last" ] && dest=${dest%/*}
 
-	cp $cp_flags_l "$src" "$dest"
+	${CP} $cp_flags_l "$src" "$dest"
 }
 
 pull_local () {
Previous: Bryan LarsenNext: Bryan Larsen
Message 16 of 18 in “parameterize gnu tool names; add Portfile for OS X darwinports”
  1. 0/6 parameterize gnu tool names; add Portfile for OS X darwinportsBryan Larsen, Jul 11, 2005
  2. 1/6 git-gnu-progs: parameterize gitBryan Larsen, Jul 11, 2005
  3. 2/6 config-sh: find and verify utilsBryan Larsen, Jul 11, 2005
  4. 3/6 git-gnu-progs-Makefile: git Makefile updateBryan Larsen, Jul 11, 2005
  5. Junio C HamanoJul 11, 2005
  6. Linus TorvaldsJul 11, 2005
  7. Bryan LarsenJul 11, 2005
  8. Linus TorvaldsJul 11, 2005
  9. Matthias UrlichsJul 12, 2005
  10. Junio C HamanoJul 11, 2005
  11. Bryan LarsenJul 11, 2005
  12. Junio C HamanoJul 11, 2005
  13. Bryan LarsenJul 11, 2005
  14. Junio C HamanoJul 11, 2005
  15. Bryan LarsenJul 11, 2005
  16. 4/6 cogito-gnu-progs: parameterize cogitoBryan Larsen, Jul 11, 2005
  17. 5/6 cogito-gnu-progs-Makefile: cogito Makefile updateBryan Larsen, Jul 11, 2005
  18. 6/6 darwinports-Portfile: Portfile for cogitoBryan Larsen, Jul 11, 2005

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.