* VC commit missing ChangeLog message @ 2008-11-11 14:41 Ted Zlatanov 2008-11-11 14:49 ` Alfred M. Szmidt 0 siblings, 1 reply; 23+ messages in thread From: Ted Zlatanov @ 2008-11-11 14:41 UTC (permalink / raw) To: emacs-devel My normal work flow is: 1) make changes 2) `C-x 4 a' to make a ChangeLog entry 3) `C-x v d' to do a commit with vc The problem is that the commit message doesn't get the ChangeLog entry I just made. This used to happen with the PCL-CVS package and I miss the functionality very much. Does anyone know if this is something already available with the new vc package, or if it needs to be written? I didn't see it in the docs. Thanks Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 14:41 VC commit missing ChangeLog message Ted Zlatanov @ 2008-11-11 14:49 ` Alfred M. Szmidt 2008-11-11 16:25 ` Stefan Monnier 0 siblings, 1 reply; 23+ messages in thread From: Alfred M. Szmidt @ 2008-11-11 14:49 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel My normal work flow is: 1) make changes 2) `C-x 4 a' to make a ChangeLog entry 3) `C-x v d' to do a commit with vc The problem is that the commit message doesn't get the ChangeLog entry I just made. This used to happen with the PCL-CVS package and I miss the functionality very much. Not much help, but I miss such a functionality as well! I would like it for `C-x v v' as well.. One could enable it with a variable or something if people prefer the current behaviour. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 14:49 ` Alfred M. Szmidt @ 2008-11-11 16:25 ` Stefan Monnier 2008-11-11 16:43 ` Ted Zlatanov 0 siblings, 1 reply; 23+ messages in thread From: Stefan Monnier @ 2008-11-11 16:25 UTC (permalink / raw) To: ams; +Cc: Ted Zlatanov, emacs-devel > My normal work flow is: > 1) make changes > 2) `C-x 4 a' to make a ChangeLog entry > 3) `C-x v d' to do a commit with vc > The problem is that the commit message doesn't get the ChangeLog entry I > just made. This used to happen with the PCL-CVS package and I miss the > functionality very much. C-c C-a from within the *VC-log* buffer will fetch the ChangeLog entry you just wrote. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 16:25 ` Stefan Monnier @ 2008-11-11 16:43 ` Ted Zlatanov 2008-11-11 16:58 ` Dan Nicolaescu 2008-11-11 17:41 ` Stefan Monnier 0 siblings, 2 replies; 23+ messages in thread From: Ted Zlatanov @ 2008-11-11 16:43 UTC (permalink / raw) To: emacs-devel On Tue, 11 Nov 2008 11:25:13 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> My normal work flow is: >> 1) make changes >> 2) `C-x 4 a' to make a ChangeLog entry >> 3) `C-x v d' to do a commit with vc >> The problem is that the commit message doesn't get the ChangeLog entry I >> just made. This used to happen with the PCL-CVS package and I miss the >> functionality very much. SM> C-c C-a from within the *VC-log* buffer will fetch the ChangeLog entry SM> you just wrote. I wonder if it could: 1) always be called on opening the *VC-log* buffer, since it's harmless 2) give an informative message about why it didn't find a ChangeLog entry, if it's invoked manually and it couldn't find an entry 3) be mentioned in the *VC-log* buffer in a comment line, together with other helpful information, e.g. ;;; Lines prefixed with ;;; will not be in the commit message ;;; Use C-c C-a to insert the best-guess ChangeLog entry ;;; Use C-u C-c C-a to forcibly insert the last ChangeLog entry ;;; Enter your commit message below I know (3) is pretty verbose but it's nice for new users... Thanks Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 16:43 ` Ted Zlatanov @ 2008-11-11 16:58 ` Dan Nicolaescu 2008-11-11 19:11 ` Ted Zlatanov 2008-11-12 2:38 ` Stefan Monnier 2008-11-11 17:41 ` Stefan Monnier 1 sibling, 2 replies; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-11 16:58 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 11 Nov 2008 11:25:13 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: > > >> My normal work flow is: > >> 1) make changes > >> 2) `C-x 4 a' to make a ChangeLog entry > >> 3) `C-x v d' to do a commit with vc > > >> The problem is that the commit message doesn't get the ChangeLog entry I > >> just made. This used to happen with the PCL-CVS package and I miss the > >> functionality very much. > > SM> C-c C-a from within the *VC-log* buffer will fetch the ChangeLog entry > SM> you just wrote. > > I wonder if it could: > > 1) always be called on opening the *VC-log* buffer, since it's harmless It could and it should, just nobody has done the work yet to do it... If you are interested, it can be done `vc-checkin' by initializing the `initial-contents' parameter before the call to `vc-start-log-entry'. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 16:58 ` Dan Nicolaescu @ 2008-11-11 19:11 ` Ted Zlatanov 2008-11-11 19:45 ` Dan Nicolaescu 2008-11-12 2:38 ` Stefan Monnier 1 sibling, 1 reply; 23+ messages in thread From: Ted Zlatanov @ 2008-11-11 19:11 UTC (permalink / raw) To: emacs-devel On Tue, 11 Nov 2008 08:58:34 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: DN> Ted Zlatanov <tzz@lifelogs.com> writes: >> On Tue, 11 Nov 2008 11:25:13 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> >> >> My normal work flow is: >> >> 1) make changes >> >> 2) `C-x 4 a' to make a ChangeLog entry >> >> 3) `C-x v d' to do a commit with vc >> >> >> The problem is that the commit message doesn't get the ChangeLog entry I >> >> just made. This used to happen with the PCL-CVS package and I miss the >> >> functionality very much. >> SM> C-c C-a from within the *VC-log* buffer will fetch the ChangeLog entry SM> you just wrote. >> >> I wonder if it could: >> >> 1) always be called on opening the *VC-log* buffer, since it's harmless DN> It could and it should, just nobody has done the work yet to do it... DN> If you are interested, it can be done `vc-checkin' by initializing the DN> `initial-contents' parameter before the call to `vc-start-log-entry'. Wouldn't it be easier to do it by calling the function directly? Or do you mean I can insert the commented lines I suggested as well that way? Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 19:11 ` Ted Zlatanov @ 2008-11-11 19:45 ` Dan Nicolaescu 2008-11-11 21:38 ` Ted Zlatanov 0 siblings, 1 reply; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-11 19:45 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 11 Nov 2008 08:58:34 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > > DN> Ted Zlatanov <tzz@lifelogs.com> writes: > >> On Tue, 11 Nov 2008 11:25:13 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: > >> > >> >> My normal work flow is: > >> >> 1) make changes > >> >> 2) `C-x 4 a' to make a ChangeLog entry > >> >> 3) `C-x v d' to do a commit with vc > >> > >> >> The problem is that the commit message doesn't get the ChangeLog entry I > >> >> just made. This used to happen with the PCL-CVS package and I miss the > >> >> functionality very much. > >> > SM> C-c C-a from within the *VC-log* buffer will fetch the ChangeLog entry > SM> you just wrote. > >> > >> I wonder if it could: > >> > >> 1) always be called on opening the *VC-log* buffer, since it's harmless > > DN> It could and it should, just nobody has done the work yet to do it... > DN> If you are interested, it can be done `vc-checkin' by initializing the > DN> `initial-contents' parameter before the call to `vc-start-log-entry'. > > Wouldn't it be easier to do it by calling the function directly? Not sure what your question is... What I described is one way to initialize the contents of the *VC-log* buffer. > Or do you mean I can insert the commented lines I suggested as well > that way? If you add those comments, you'd need to add some post-processing to make sure they get removed before checking in, so it might not be the best idea. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 19:45 ` Dan Nicolaescu @ 2008-11-11 21:38 ` Ted Zlatanov 2008-11-12 1:11 ` Dan Nicolaescu 0 siblings, 1 reply; 23+ messages in thread From: Ted Zlatanov @ 2008-11-11 21:38 UTC (permalink / raw) To: emacs-devel On Tue, 11 Nov 2008 11:45:32 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: DN> Ted Zlatanov <tzz@lifelogs.com> writes: >> On Tue, 11 Nov 2008 08:58:34 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: DN> It could and it should, just nobody has done the work yet to do it... DN> If you are interested, it can be done `vc-checkin' by initializing the DN> `initial-contents' parameter before the call to `vc-start-log-entry'. >> >> Wouldn't it be easier to do it by calling the function directly? DN> Not sure what your question is... What I described is one way to DN> initialize the contents of the *VC-log* buffer. There's a function that will do it (`C-c C-a' == log-edit-insert-changelog), I'm trying to find out if it's easier to always call that function when setting up the *VC-log* buffer than use initial-contents as you suggested. It seems so to me, and Stefan suggested it too. Incidentally, there are two functions named log-edit-changelog-insert-entries and log-edit-insert-changelog-entries. I think one of the two should be renamed to avoid confusion. >> Or do you mean I can insert the commented lines I suggested as well >> that way? DN> If you add those comments, you'd need to add some post-processing to DN> make sure they get removed before checking in, so it might not be the DN> best idea. It's for user convenience, so I think it's a good idea. It's just modifying log-edit-done at the beginning--it already does removal of trailing empty lines, so this is pretty easy. Simply go to point-min and then remove all the lines that match "^;;;". I can write and test it unless you or someone else think it's a problem. Thanks Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 21:38 ` Ted Zlatanov @ 2008-11-12 1:11 ` Dan Nicolaescu 2008-11-12 17:17 ` Ted Zlatanov 0 siblings, 1 reply; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-12 1:11 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 11 Nov 2008 11:45:32 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > > DN> Ted Zlatanov <tzz@lifelogs.com> writes: > >> On Tue, 11 Nov 2008 08:58:34 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > > DN> It could and it should, just nobody has done the work yet to do it... > DN> If you are interested, it can be done `vc-checkin' by initializing the > DN> `initial-contents' parameter before the call to `vc-start-log-entry'. > >> > >> Wouldn't it be easier to do it by calling the function directly? > > DN> Not sure what your question is... What I described is one way to > DN> initialize the contents of the *VC-log* buffer. > > There's a function that will do it (`C-c C-a' == > log-edit-insert-changelog), I'm trying to find out if it's easier to > always call that function when setting up the *VC-log* buffer than use > initial-contents as you suggested. It seems so to me, and Stefan > suggested it too. Sorry, I don't know which version would be easier. If you are interested in improving this area, please also look at one of the TODO items in vc.el: ;; - When vc-next-action calls vc-checkin it could pre-fill the ;; *VC-log* buffer with some obvious items: the list of files that ;; were added, the list of files that were removed. If the diff is ;; available, maybe it could even call something like ;; `diff-add-change-log-entries-other-window' to create a detailed ;; skeleton for the log... ;; > >> Or do you mean I can insert the commented lines I suggested as well > >> that way? > > DN> If you add those comments, you'd need to add some post-processing to > DN> make sure they get removed before checking in, so it might not be the > DN> best idea. > > It's for user convenience, so I think it's a good idea. It's just > modifying log-edit-done at the beginning--it already does removal of > trailing empty lines, so this is pretty easy. Simply go to point-min > and then remove all the lines that match "^;;;". I can write and test > it unless you or someone else think it's a problem. If you are going to add the ChangeLog entries by default, then why bother with adding the text ? IMO adding text is inconvenient to users: they either have to read it, or they might think they have to delete it so that it does not get checked in. It would be nice to be able to insert text that is not part of the buffer, like in the header line, but that is a single line unfortunately :-( ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 1:11 ` Dan Nicolaescu @ 2008-11-12 17:17 ` Ted Zlatanov 2008-11-12 19:42 ` Stefan Monnier 2008-11-12 19:56 ` Dan Nicolaescu 0 siblings, 2 replies; 23+ messages in thread From: Ted Zlatanov @ 2008-11-12 17:17 UTC (permalink / raw) To: emacs-devel On Tue, 11 Nov 2008 17:11:06 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: DN> If you are interested in improving this area, please also look at one of DN> the TODO items in vc.el: DN> ;; - When vc-next-action calls vc-checkin it could pre-fill the DN> ;; *VC-log* buffer with some obvious items: the list of files that DN> ;; were added, the list of files that were removed. If the diff is DN> ;; available, maybe it could even call something like DN> ;; `diff-add-change-log-entries-other-window' to create a detailed DN> ;; skeleton for the log... DN> ;; I think that should be up to the user, to be done in the hook. The information, diff and files added/removed/affected, exists outside the commit message so putting it inside the message duplicates the information. DN> If you are going to add the ChangeLog entries by default, then why DN> bother with adding the text ? DN> IMO adding text is inconvenient to users: they either have to read DN> it, or they might think they have to delete it so that it does not DN> get checked in. It would be nice to be able to insert text that is DN> not part of the buffer, like in the header line, but that is a DN> single line unfortunately :-( I see your point and agree. How about this patch to just call log-edit-insert-changelog? I call it regardless of the SETUP parameter, but it could follow the erase-buffer call instead. Ted Index: log-edit.el =================================================================== RCS file: /sources/emacs/emacs/lisp/log-edit.el,v retrieving revision 1.51 diff -c -r1.51 log-edit.el *** log-edit.el 6 May 2008 07:57:42 -0000 1.51 --- log-edit.el 12 Nov 2008 17:13:04 -0000 *************** *** 345,350 **** --- 345,351 ---- (if buffer (set (make-local-variable 'log-edit-parent-buffer) parent)) (set (make-local-variable 'log-edit-initial-files) (log-edit-files)) + (log-edit-insert-changelog) (when setup (run-hooks 'log-edit-hook)) (goto-char (point-min)) (push-mark (point-max)) (message "%s" (substitute-command-keys ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 17:17 ` Ted Zlatanov @ 2008-11-12 19:42 ` Stefan Monnier 2008-11-12 19:59 ` Dan Nicolaescu 2008-11-12 21:47 ` Ted Zlatanov 2008-11-12 19:56 ` Dan Nicolaescu 1 sibling, 2 replies; 23+ messages in thread From: Stefan Monnier @ 2008-11-12 19:42 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel > I think that should be up to the user, to be done in the hook. The > information, diff and files added/removed/affected, exists outside the > commit message so putting it inside the message duplicates the > information. Agreed. One missing feature OTOH is a way to get from the log-edit buffer to the patch that's being committed. With PCL-CVS you can use C-x c = to get it, but in general it's missing. > I see your point and agree. How about this patch to just call > log-edit-insert-changelog? I call it regardless of the SETUP parameter, > but it could follow the erase-buffer call instead. I'd rather just change the default value of the hook, so that users can remove that entry from the hook if they don't want it run. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 19:42 ` Stefan Monnier @ 2008-11-12 19:59 ` Dan Nicolaescu 2008-11-12 20:57 ` Stefan Monnier 2008-11-12 21:47 ` Ted Zlatanov 1 sibling, 1 reply; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-12 19:59 UTC (permalink / raw) To: Stefan Monnier; +Cc: Ted Zlatanov, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: > > I think that should be up to the user, to be done in the hook. The > > information, diff and files added/removed/affected, exists outside the > > commit message so putting it inside the message duplicates the > > information. > > Agreed. One missing feature OTOH is a way to get from the log-edit > buffer to the patch that's being committed. With PCL-CVS you can use > C-x c = to get it, but in general it's missing. What's wrong with C-x v = ? ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 19:59 ` Dan Nicolaescu @ 2008-11-12 20:57 ` Stefan Monnier 0 siblings, 0 replies; 23+ messages in thread From: Stefan Monnier @ 2008-11-12 20:57 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: Ted Zlatanov, emacs-devel >> > I think that should be up to the user, to be done in the hook. The >> > information, diff and files added/removed/affected, exists outside the >> > commit message so putting it inside the message duplicates the >> > information. >> >> Agreed. One missing feature OTOH is a way to get from the log-edit >> buffer to the patch that's being committed. With PCL-CVS you can use >> C-x c = to get it, but in general it's missing. > What's wrong with > C-x v = > ? Oh, you're right, it works as well. Good. Stefan "Duh!" ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 19:42 ` Stefan Monnier 2008-11-12 19:59 ` Dan Nicolaescu @ 2008-11-12 21:47 ` Ted Zlatanov 2008-11-13 1:56 ` Stefan Monnier 1 sibling, 1 reply; 23+ messages in thread From: Ted Zlatanov @ 2008-11-12 21:47 UTC (permalink / raw) To: emacs-devel On Wed, 12 Nov 2008 14:42:30 -0500 Stefan Monnier <monnier@iro.umontreal.ca> wrote: >> I see your point and agree. How about this patch to just call >> log-edit-insert-changelog? I call it regardless of the SETUP parameter, >> but it could follow the erase-buffer call instead. SM> I'd rather just change the default value of the hook, so that users can SM> remove that entry from the hook if they don't want it run. Wait, the hook already calls it. For me it doesn't work, though (which is why I started this thread). Something is breaking in the changelog entry detection logic. It worked when I did C-c C-a (without C-u) manually. It must have been the logic that applies C-u if C-c C-a is called twice in a row; I must have hit the key twice without realizing it. So the problem is actually that the default logic doesn't detect my ChangeLog entry, not that log-edit-insert-changelog is not called. Argh. Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 21:47 ` Ted Zlatanov @ 2008-11-13 1:56 ` Stefan Monnier 0 siblings, 0 replies; 23+ messages in thread From: Stefan Monnier @ 2008-11-13 1:56 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel >>> I see your point and agree. How about this patch to just call >>> log-edit-insert-changelog? I call it regardless of the SETUP parameter, >>> but it could follow the erase-buffer call instead. SM> I'd rather just change the default value of the hook, so that users can SM> remove that entry from the hook if they don't want it run. > Wait, the hook already calls it. For me it doesn't work, though (which > is why I started this thread). Something is breaking in the changelog > entry detection logic. It worked when I did C-c C-a (without C-u) > manually. It must have been the logic that applies C-u if C-c C-a is > called twice in a row; I must have hit the key twice without realizing > it. So the problem is actually that the default logic doesn't detect my > ChangeLog entry, not that log-edit-insert-changelog is not called. Argh. It's probably the `setup' argument together with the log-edit-invert-setup confg variable. It's rather messy and the main purpose was to preserve 100% behavioral-compatibility while introducing new features. But I think I agree that the setup should simply always happen and the user can then use the log-edit-hook to control what kind of setup he wants to take place. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 17:17 ` Ted Zlatanov 2008-11-12 19:42 ` Stefan Monnier @ 2008-11-12 19:56 ` Dan Nicolaescu 2008-11-12 21:42 ` Ted Zlatanov 1 sibling, 1 reply; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-12 19:56 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Tue, 11 Nov 2008 17:11:06 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > > DN> If you are interested in improving this area, please also look at one of > DN> the TODO items in vc.el: > > DN> ;; - When vc-next-action calls vc-checkin it could pre-fill the > DN> ;; *VC-log* buffer with some obvious items: the list of files that > DN> ;; were added, the list of files that were removed. If the diff is > DN> ;; available, maybe it could even call something like > DN> ;; `diff-add-change-log-entries-other-window' to create a detailed > DN> ;; skeleton for the log... > DN> ;; > > I think that should be up to the user, to be done in the hook. Sure, but it would be nice to provide a way to do it by default. > The information, diff and files added/removed/affected, exists > outside the commit message so putting it inside the message > duplicates the information. It exists, but it means you have to look in two places for it, it is customary to put such information in the logs. Also you only addressed one part of that TODO entry, the whole point is to make it easier to write log entries, and provide as much as possible by default. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 19:56 ` Dan Nicolaescu @ 2008-11-12 21:42 ` Ted Zlatanov 2008-11-13 7:09 ` Dan Nicolaescu 0 siblings, 1 reply; 23+ messages in thread From: Ted Zlatanov @ 2008-11-12 21:42 UTC (permalink / raw) To: emacs-devel On Wed, 12 Nov 2008 11:56:42 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: DN> Ted Zlatanov <tzz@lifelogs.com> writes: >> On Tue, 11 Nov 2008 17:11:06 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: >> DN> If you are interested in improving this area, please also look at one of DN> the TODO items in vc.el: >> DN> ;; - When vc-next-action calls vc-checkin it could pre-fill the DN> ;; *VC-log* buffer with some obvious items: the list of files that DN> ;; were added, the list of files that were removed. If the diff is DN> ;; available, maybe it could even call something like DN> ;; `diff-add-change-log-entries-other-window' to create a detailed DN> ;; skeleton for the log... DN> ;; >> >> I think that should be up to the user, to be done in the hook. DN> Sure, but it would be nice to provide a way to do it by default. I think we agree that something is good, but it will be hard to agree on the particulars of what to put in the buffer. So maybe the answer is a format-like string (falling back to a function call) that the user can customize? >> The information, diff and files added/removed/affected, exists >> outside the commit message so putting it inside the message >> duplicates the information. DN> It exists, but it means you have to look in two places for it, it is DN> customary to put such information in the logs. Sorry, I don't see what you mean. Putting it in the logs would ensure you have two places to look, and when it's inaccurate it would be an even worse situation. DN> Also you only addressed one part of that TODO entry, the whole point is DN> to make it easier to write log entries, and provide as much as possible DN> by default. The two goals diverge significantly once the threshold of "enough" information is passed, and unfortunately that is a different point for every user. Specifically regarding the detailed skeleton, I think we're getting to the format string/function concept I mentioned above. I don't think Emacs has a default way to do this, but skeleton.el should work. Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-12 21:42 ` Ted Zlatanov @ 2008-11-13 7:09 ` Dan Nicolaescu 2008-11-13 14:47 ` Ted Zlatanov 0 siblings, 1 reply; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-13 7:09 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Wed, 12 Nov 2008 11:56:42 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > > DN> Ted Zlatanov <tzz@lifelogs.com> writes: > >> On Tue, 11 Nov 2008 17:11:06 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > >> > DN> If you are interested in improving this area, please also look at one of > DN> the TODO items in vc.el: > >> > DN> ;; - When vc-next-action calls vc-checkin it could pre-fill the > DN> ;; *VC-log* buffer with some obvious items: the list of files that > DN> ;; were added, the list of files that were removed. If the diff is > DN> ;; available, maybe it could even call something like > DN> ;; `diff-add-change-log-entries-other-window' to create a detailed > DN> ;; skeleton for the log... > DN> ;; > >> > >> I think that should be up to the user, to be done in the hook. > > DN> Sure, but it would be nice to provide a way to do it by default. > > I think we agree that something is good, but it will be hard to agree on > the particulars of what to put in the buffer. So maybe the answer is a > format-like string (falling back to a function call) that the user can > customize? Or a list of functions? > >> The information, diff and files added/removed/affected, exists > >> outside the commit message so putting it inside the message > >> duplicates the information. > > DN> It exists, but it means you have to look in two places for it, it is > DN> customary to put such information in the logs. > > Sorry, I don't see what you mean. Putting it in the logs would ensure > you have two places to look, and when it's inaccurate it would be an > even worse situation. See many the logs for many GNU projects (including emacs), file addition and deletions are noted there, it's quite usual to do so. > DN> Also you only addressed one part of that TODO entry, the whole point is > DN> to make it easier to write log entries, and provide as much as possible > DN> by default. > > The two goals diverge significantly once the threshold of "enough" > information is passed, and unfortunately that is a different point for > every user. > > Specifically regarding the detailed skeleton, I think we're getting to > the format string/function concept I mentioned above. I don't think > Emacs has a default way to do this, but skeleton.el should work. IMHO the ChangeLog format * filename (FUNCTION_NAME): should be enough for the start, we'll see if users ask for a different format. The format is probably not that important for the beginning... ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-13 7:09 ` Dan Nicolaescu @ 2008-11-13 14:47 ` Ted Zlatanov 2008-11-13 15:12 ` Dan Nicolaescu 0 siblings, 1 reply; 23+ messages in thread From: Ted Zlatanov @ 2008-11-13 14:47 UTC (permalink / raw) To: emacs-devel On Wed, 12 Nov 2008 23:09:35 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: DN> Ted Zlatanov <tzz@lifelogs.com> writes: >> I think we agree that something is good, but it will be hard to agree on >> the particulars of what to put in the buffer. So maybe the answer is a >> format-like string (falling back to a function call) that the user can >> customize? DN> Or a list of functions? Sure. Do you want to put it in or should I? Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-13 14:47 ` Ted Zlatanov @ 2008-11-13 15:12 ` Dan Nicolaescu 0 siblings, 0 replies; 23+ messages in thread From: Dan Nicolaescu @ 2008-11-13 15:12 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Wed, 12 Nov 2008 23:09:35 -0800 (PST) Dan Nicolaescu <dann@ics.uci.edu> wrote: > > DN> Ted Zlatanov <tzz@lifelogs.com> writes: > >> I think we agree that something is good, but it will be hard to agree on > >> the particulars of what to put in the buffer. So maybe the answer is a > >> format-like string (falling back to a function call) that the user can > >> customize? > > DN> Or a list of functions? > > Sure. Do you want to put it in or should I? You are the one doing the work. But you might want to ask Stefan if he agrees... ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 16:58 ` Dan Nicolaescu 2008-11-11 19:11 ` Ted Zlatanov @ 2008-11-12 2:38 ` Stefan Monnier 1 sibling, 0 replies; 23+ messages in thread From: Stefan Monnier @ 2008-11-12 2:38 UTC (permalink / raw) To: Dan Nicolaescu; +Cc: Ted Zlatanov, emacs-devel >> 1) always be called on opening the *VC-log* buffer, since it's harmless > It could and it should, just nobody has done the work yet to do it... > If you are interested, it can be done `vc-checkin' by initializing the > `initial-contents' parameter before the call to `vc-start-log-entry'. It would not belong in VC but in log-edit.el. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 16:43 ` Ted Zlatanov 2008-11-11 16:58 ` Dan Nicolaescu @ 2008-11-11 17:41 ` Stefan Monnier 2008-11-11 19:09 ` Ted Zlatanov 1 sibling, 1 reply; 23+ messages in thread From: Stefan Monnier @ 2008-11-11 17:41 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel > I wonder if it could: > 1) always be called on opening the *VC-log* buffer, since it's harmless M-x customize-variable RET log-edit-hook RET > 2) give an informative message about why it didn't find a ChangeLog > entry, if it's invoked manually and it couldn't find an entry It's kind of difficult: currently, it builds a regexp and searches for it. If it's not found, all it knows is that it's not found, but not which part of the regexps could have matched if it weren't for some other part. Stefan ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: VC commit missing ChangeLog message 2008-11-11 17:41 ` Stefan Monnier @ 2008-11-11 19:09 ` Ted Zlatanov 0 siblings, 0 replies; 23+ messages in thread From: Ted Zlatanov @ 2008-11-11 19:09 UTC (permalink / raw) To: emacs-devel On Tue, 11 Nov 2008 12:41:13 -0500 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: >> I wonder if it could: >> 1) always be called on opening the *VC-log* buffer, since it's harmless SM> M-x customize-variable RET log-edit-hook RET I know how to do it for myself, of course. I think it should be done for everyone. >> 2) give an informative message about why it didn't find a ChangeLog >> entry, if it's invoked manually and it couldn't find an entry SM> It's kind of difficult: currently, it builds a regexp and searches SM> for it. If it's not found, all it knows is that it's not found, but not SM> which part of the regexps could have matched if it weren't for some SM> other part. Maybe that can be improved. I have not looked at the code so I don't want to speculate, but will do so if you and others think it's a good idea. Ted ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2008-11-13 15:12 UTC | newest] Thread overview: 23+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-11-11 14:41 VC commit missing ChangeLog message Ted Zlatanov 2008-11-11 14:49 ` Alfred M. Szmidt 2008-11-11 16:25 ` Stefan Monnier 2008-11-11 16:43 ` Ted Zlatanov 2008-11-11 16:58 ` Dan Nicolaescu 2008-11-11 19:11 ` Ted Zlatanov 2008-11-11 19:45 ` Dan Nicolaescu 2008-11-11 21:38 ` Ted Zlatanov 2008-11-12 1:11 ` Dan Nicolaescu 2008-11-12 17:17 ` Ted Zlatanov 2008-11-12 19:42 ` Stefan Monnier 2008-11-12 19:59 ` Dan Nicolaescu 2008-11-12 20:57 ` Stefan Monnier 2008-11-12 21:47 ` Ted Zlatanov 2008-11-13 1:56 ` Stefan Monnier 2008-11-12 19:56 ` Dan Nicolaescu 2008-11-12 21:42 ` Ted Zlatanov 2008-11-13 7:09 ` Dan Nicolaescu 2008-11-13 14:47 ` Ted Zlatanov 2008-11-13 15:12 ` Dan Nicolaescu 2008-11-12 2:38 ` Stefan Monnier 2008-11-11 17:41 ` Stefan Monnier 2008-11-11 19:09 ` Ted Zlatanov
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git 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 read-only IMAP folder(s) and NNTP newsgroup(s).