[RFC] allow file list editing during cg-commit
- From
- Eugene 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