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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Mon May 09 14:15:37 2005
This archive was generated by hypermail 2.1.8 : 2005-05-09 14:15:37 EST