* Re: git commit workflow question [not found] <20070914103348.GA22621@bulgaria> @ 2007-09-14 18:14 ` Shawn O. Pearce 2007-09-15 11:31 ` Wincent Colaiuta 0 siblings, 1 reply; 3+ messages in thread From: Shawn O. Pearce @ 2007-09-14 18:14 UTC (permalink / raw) To: Brian Swetland; +Cc: git Brian Swetland <swetland@google.com> wrote: > With perforce I often have a bunch of files modified (having p4 add'd > or p4 edit'd them) and then only commit a subset of them. I can do > this interactively by doing a p4 submit and just removing the files > I don't want to check in from the list in the changelist description > when I'm writing up the change description in $EDITOR, invoked by > p4 submit. > > It seems like my options with git are to invoke git commit with > a specific list of things to commit, invoke git commit --interactive > and use the interactive menu thing to shuffle stuff around, or > manually unstage things until I have the index in a state where > a git commit without other arguments will do what I want. Or use git-citool/git-gui to make commits, in which case that will help you to arrange the index with what you want to commit. But yes, git-commit does not pay any attention to modifications made to the template in the edit buffer. I'm not sure how the Git community would react to being able to edit the list of files being committed from within the commit message buffer. I think most Git users run at least `git diff --cached` before they commit to make sure they are happy with the difference. I know a lot of users who do that. Most/all of those users also do not stage something into the index until they are happy with the change, which means there isn't any list of files to remove when it comes time to make the commit as the contents of the index is exactly what should be committed. I used p4 for a while before Git was invented. I found the file editing feature useful then because there was no concept of the index. Now with Git I've embraced the index so much that I'm not sure I can work without it, and I don't need to remove files from my index during the actual commit itself. -- Shawn. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: git commit workflow question 2007-09-14 18:14 ` git commit workflow question Shawn O. Pearce @ 2007-09-15 11:31 ` Wincent Colaiuta 2007-09-15 12:07 ` David Watson 0 siblings, 1 reply; 3+ messages in thread From: Wincent Colaiuta @ 2007-09-15 11:31 UTC (permalink / raw) To: Shawn O. Pearce; +Cc: Brian Swetland, git El 14/9/2007, a las 20:14, Shawn O. Pearce escribió: > I'm not sure how the Git community would react to being able to edit > the list of files being committed from within the commit message > buffer. I think most Git users run at least `git diff --cached` > before they commit to make sure they are happy with the difference. > I know a lot of users who do that. Yes, I generally check what's in the index before going ahead with a commit; in fact I have the following alias in my .bash_profile so that I can just type "staged" to see what'll be in the commit, along with an "unstaged" alias for the opposite: alias staged='git diff --cached' Having said that, it would be very useful to be able to edit the list within the commit message buffer for those occasions where you realise that stuff you have staged in the index really should be two separate commits. It would enable this very simple workflow: 1. review changes, realize that some of the changes belong in a separate commit 2. commit, omitting the unwanted changes 3. commit again, this time with the remainder of the changes Without the ability to edit the list within the commit message buffer your workflow becomes a bit more cumbersome: 1. review changes, realize that some of the changes belong in a separate commit 2a. explicitly pass files to commit on the commandline (cumbersome if number of files is large); or: 2b. use git-commit --interactive (again can be relatively cumbersome); or: 2c. explicitly unstage unwanted files, commit, then restage them and commit So, yes, the proposed functionality isn't necessary by any means, but it would make some nice usability sugar. I know that in the past my experience with other SCMs that can do this has made me mistakenly believe that Git does too. Cheers, Wincent ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: git commit workflow question 2007-09-15 11:31 ` Wincent Colaiuta @ 2007-09-15 12:07 ` David Watson 0 siblings, 0 replies; 3+ messages in thread From: David Watson @ 2007-09-15 12:07 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: Shawn O. Pearce, Brian Swetland, git <shameless plug>The Eclipse plugin (egit) actually already supports this feature, and I use it all the time. It's incredibly handy, since I can stag things as much as I want, and then commit then piecemeal.</shameless plug> However, I'm not convinced this should necessarily be included in git, at least not by editing the commit message. Perhaps it should be a task for a porcelain? I know you can do something similar using git-gui as well, just by clicking on files in its top view to stage/unstage. Or like rebase -i, where you first get a buffer with a list of stuff to be done, and then in a separate buffer you get the commit message. On Sat, Sep 15, 2007 at 01:31:37PM +0200, Wincent Colaiuta wrote: > El 14/9/2007, a las 20:14, Shawn O. Pearce escribi?: > > > I'm not sure how the Git community would react to being able to edit > > the list of files being committed from within the commit message > > buffer. I think most Git users run at least `git diff --cached` > > before they commit to make sure they are happy with the difference. > > I know a lot of users who do that. > > Yes, I generally check what's in the index before going ahead with a commit; in > fact I have the following alias in my .bash_profile so that I can just type > "staged" to see what'll be in the commit, along with an "unstaged" alias for > the opposite: > > alias staged='git diff --cached' > > Having said that, it would be very useful to be able to edit the list within > the commit message buffer for those occasions where you realise that stuff you > have staged in the index really should be two separate commits. It would enable > this very simple workflow: > > 1. review changes, realize that some of the changes belong in a separate > commit > 2. commit, omitting the unwanted changes > 3. commit again, this time with the remainder of the changes > > Without the ability to edit the list within the commit message buffer your > workflow becomes a bit more cumbersome: > > 1. review changes, realize that some of the changes belong in a separate > commit > 2a. explicitly pass files to commit on the commandline (cumbersome if number > of files is large); or: > 2b. use git-commit --interactive (again can be relatively cumbersome); or: > 2c. explicitly unstage unwanted files, commit, then restage them and commit > > So, yes, the proposed functionality isn't necessary by any means, but it would > make some nice usability sugar. I know that in the past my experience with > other SCMs that can do this has made me mistakenly believe that Git does too. > > Cheers, > Wincent > > - > 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.html -- Dave Watson Software Engineer MIMvista Corp ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-09-15 12:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20070914103348.GA22621@bulgaria>
2007-09-14 18:14 ` git commit workflow question Shawn O. Pearce
2007-09-15 11:31 ` Wincent Colaiuta
2007-09-15 12:07 ` David Watson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).