all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
To: Dan Nicolaescu <dann@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Updating *vc-dir* marks from *VC-log*
Date: Sun, 21 Nov 2010 13:30:09 -0500	[thread overview]
Message-ID: <19689.25905.829852.432969@rgr.rgrjr.com> (raw)
In-Reply-To: <yxqvd3qfw4k.fsf@fencepost.gnu.org>

   From: Dan Nicolaescu <dann@gnu.org>
   Date: Sun, 21 Nov 2010 12:02:19 -0500

   It's still unclear what you are trying to do, could you please
   describe in detail the use-case you have in mind?

Here's what I often find myself wanting to do:

   1.  Start a multi-file commit from vc-dir.

   2.  After writing half the log buffer, realize that one or two of the
files scheduled for commit are independent of the others, and should
really be committed first, in a separate operation.

   3.  Go back to *vc-dir*, change the mark set to include only those
files, and commit using a new log buffer.

   4.  Re-visit the first log buffer and finish the original commit,
with a reduced fileset.

   Currently, I either have to (a) save the current log buffer contents
somewhere and start fresh, or (b) drop the file(s) from the first commit
and just do them in the reverse order.  (It might work to rename the log
buffer at step 2, and then rename it back; I haven't tried that.  But I
was shooting for something more transparent.)

   FWIW, I used to have a hack that supported this workflow by splitting
log buffers in two, but it was driven by file names in the log buffer
itself, which wasn't very clean.  (And it was part of another multi-file
commit hack, before Emacs had proper support for it.)

   >    But, at the very least, I ought to check vc-parent-buffer first,
   > since that would always DTRT if the file appears in multiple vc-dir
   > buffers.  Thanks for making that apparent.
   >
   >    BTW, this is a subproject that came up while trying to make Emacs
   > smarter about changing marked files in vc-dir during the commit (see
   > bug#7350).  

   That's quite easy (I have it in my local copy).  `log-edit-files'
   gives you a list of files that *VC log* would check in.
   `vc-deduce-fileset' in `vc-parent-buffer' gives you the currently
   selected files in *vc dir*

All true.  But Stefan pointed out in response to bug#7350 that C-c C-c
should at least bring it to the user's attention if those two sets
differ, and update the commit fileset if the use approves.

   But if you've already have that code in your local copy, then I don't
have to write it.  Right?

					-- Bob



  reply	other threads:[~2010-11-21 18:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-21  0:58 Updating *vc-dir* marks from *VC-log* Bob Rogers
2010-11-21  4:46 ` Dan Nicolaescu
2010-11-21 16:14   ` Bob Rogers
2010-11-21 17:02     ` Dan Nicolaescu
2010-11-21 18:30       ` Bob Rogers [this message]
2010-11-23 17:06         ` Dan Nicolaescu
2010-11-21 18:43 ` Stefan Monnier
2010-11-21 20:46   ` Bob Rogers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=19689.25905.829852.432969@rgr.rgrjr.com \
    --to=rogers-emacs@rgrjr.dyndns.org \
    --cc=dann@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.