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

[RFC] allow file list editing during cg-commit

From
ESEugene Surovegin <ebs@ebshome.net>
Date
May 9, 2005, 04:14 UTC
Message-ID
<20050509041459.GA13475@gate.ebshome.net>
Hi!

I just started playing with cogito and failed to find _easy_ way to select which files will be committed and which won't. cg-commit seems to support specifying file list in command line, but this isn't very convenient when the list is big.

I tend to have many modified files in my repo, but commit them in several different changeset.

I just made simple change to cg-commit which allows editing file list while editing log message; for example, if I have 30 files ready for commit, but want to commit only 29, I just remove this file from "CG:" list.

Patch which demonstrates the idea follows. Please note, this is just a quick hack, and I probably missed some cg-commit cases, when such behavior is undesirable; also, I cheated a little to make grepping easy :).

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Index: cg-commit
===================================================================
--- 3974261da777f55a7a11aff6e02f584bbfe2b475/cg-commit  (mode:100755)
+++ uncommitted/cg-commit  (mode:100755)
@@ -116,7 +116,7 @@
 	for file in "${commitfiles[@]}"; do
 		# TODO: Prepend a letter describing whether it's addition,
 		# removal or update. Or call git status on those files.
-		echo "CG:    $file" >>$LOGMSG
+		echo "CG:F    $file" >>$LOGMSG
 		[ "$msgs" ] && ! [ "$forceeditor" ] && echo $file
 	done
 fi
@@ -131,6 +131,11 @@
 		rm $LOGMSG $LOGMSG2
 		die 'Commit message not modified, commit aborted'
 	fi
+	eval commitfiles=($(grep ^CG:F $LOGMSG2 | sed 's/^CG:F//'))
+	if [ ! "${commitfiles[*]}" ]; then
+		rm $LOGMSG $LOGMSG2
+		die 'Nothing to commit'
+	fi
 else
 	cat >>$LOGMSG2
 fi
Next: Marcel Holtmann
Message 1 of 6 in “[RFC] allow file list editing during cg-commit”
  1. Eugene SuroveginMay 9, 2005
  2. Marcel HoltmannMay 9, 2005
  3. Eugene SuroveginMay 9, 2005
  4. Petr BaudisMay 9, 2005
  5. Eugene SuroveginMay 9, 2005
  6. Jonas FonsecaMay 9, 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.