* vc-dir and Bazaar
@ 2010-07-23 12:03 Stephen Berman
2010-07-23 21:32 ` Óscar Fuentes
0 siblings, 1 reply; 10+ messages in thread
From: Stephen Berman @ 2010-07-23 12:03 UTC (permalink / raw)
To: help-gnu-emacs
The Emacs manual (32.1 Version Control) says: "The Emacs version control
interface is called VC. Its commands work with several different
version control systems; currently, it supports GNU Arch, Bazaar, [...]"
and (32.1.6 VC Directory Mode): "The VC Directory buffer works with all
the version control systems that VC supports." But when I type `C-x v
d' (vc-dir) and at the prompt enter the directory of my bzr Emacs trunk
tree, all I get is this:
===============
VC backend : Bzr
Working dir: /data/steve/bzr/emacs/trunk/
Parent branch : http://bzr.savannah.gnu.org/r/emacs/trunk/
Shelves : No shelved changes
./
===============
No files are listed, although the parent branch contains changes against
my working directory. And when I type `+' (vc-update), all I get is the
message from vc-call-backend: "Sorry, merge-news is not implemented for
Bzr". (I don't understand the message; I thought I was invoking update,
not merge or merge-news, whatever that is.)
So does vc-dir not work with bzr, contrary to the manual, or do I need
to do something else? I have no problem using bzr from the command
line, updating the trunk, merging, etc. This is with
Bazaar (bzr) 2.1.0
Python interpreter: /usr/bin/python 2.6.2
Python standard library: /usr/lib/python2.6
Platform: Linux-2.6.31.12-0.2-default-i686-athlon-with-SuSE-11.2-i586
bzrlib: /usr/lib/python2.6/site-packages/bzrlib
Bazaar configuration: /home/steve/.bazaar
Bazaar log file: /home/steve/.bzr.log
and
GNU Emacs 24.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.18.6) of
2010-07-18 on escher
I'd be grateful for any help.
Steve Berman
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-23 12:03 vc-dir and Bazaar Stephen Berman
@ 2010-07-23 21:32 ` Óscar Fuentes
2010-07-23 21:45 ` Stephen Berman
0 siblings, 1 reply; 10+ messages in thread
From: Óscar Fuentes @ 2010-07-23 21:32 UTC (permalink / raw)
To: help-gnu-emacs; +Cc: Stephen Berman
Stephen Berman <stephen.berman@gmx.net> writes:
[snip]
> No files are listed, although the parent branch contains changes against
> my working directory. And when I type `+' (vc-update), all I get is the
> message from vc-call-backend: "Sorry, merge-news is not implemented for
> Bzr". (I don't understand the message; I thought I was invoking update,
> not merge or merge-news, whatever that is.)
>
> So does vc-dir not work with bzr, contrary to the manual, or do I need
> to do something else?
AFAIK, support for distributed features on VC(-dir) is still
missing. What you can use are the features common with centralized
systems: commit, diff, log, etc.
[snip]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-23 21:32 ` Óscar Fuentes
@ 2010-07-23 21:45 ` Stephen Berman
2010-07-24 7:47 ` Eli Zaretskii
2010-07-24 15:32 ` Óscar Fuentes
0 siblings, 2 replies; 10+ messages in thread
From: Stephen Berman @ 2010-07-23 21:45 UTC (permalink / raw)
To: help-gnu-emacs
On Fri, 23 Jul 2010 23:32:16 +0200 Óscar Fuentes <ofv@wanadoo.es> wrote:
> Stephen Berman <stephen.berman@gmx.net> writes:
>
> [snip]
>
>> No files are listed, although the parent branch contains changes against
>> my working directory. And when I type `+' (vc-update), all I get is the
>> message from vc-call-backend: "Sorry, merge-news is not implemented for
>> Bzr". (I don't understand the message; I thought I was invoking update,
>> not merge or merge-news, whatever that is.)
>>
>> So does vc-dir not work with bzr, contrary to the manual, or do I need
>> to do something else?
>
> AFAIK, support for distributed features on VC(-dir) is still
> missing. What you can use are the features common with centralized
> systems: commit, diff, log, etc.
How can I do that with vc-dir when I can't get a listing of any files at
all? Have you used vc-dir? If so, what do you do?
Steve Berman
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-23 21:45 ` Stephen Berman
@ 2010-07-24 7:47 ` Eli Zaretskii
2010-07-24 11:56 ` Stephen Berman
2010-07-24 15:32 ` Óscar Fuentes
1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2010-07-24 7:47 UTC (permalink / raw)
To: help-gnu-emacs
> From: Stephen Berman <stephen.berman@gmx.net>
> Date: Fri, 23 Jul 2010 23:45:19 +0200
>
> > AFAIK, support for distributed features on VC(-dir) is still
> > missing. What you can use are the features common with centralized
> > systems: commit, diff, log, etc.
>
> How can I do that with vc-dir when I can't get a listing of any files at
> all?
The commands pointed out by Óscar usually make sense on so-called
"interesting" files -- those you have uncommitted changes for, those
that were not add to the VC, etc. And vc-dir is documented to show
only those "interesting" files. In your case, evidently there are
none.
IOW, before you can meaningfully use vc-dir, you need to do something
worthy of it ;-) E.g., modify some file.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-24 7:47 ` Eli Zaretskii
@ 2010-07-24 11:56 ` Stephen Berman
2010-07-24 12:21 ` Eli Zaretskii
0 siblings, 1 reply; 10+ messages in thread
From: Stephen Berman @ 2010-07-24 11:56 UTC (permalink / raw)
To: help-gnu-emacs
On Sat, 24 Jul 2010 10:47:24 +0300 Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Stephen Berman <stephen.berman@gmx.net>
>> Date: Fri, 23 Jul 2010 23:45:19 +0200
>>
>> > AFAIK, support for distributed features on VC(-dir) is still
>> > missing. What you can use are the features common with centralized
>> > systems: commit, diff, log, etc.
>>
>> How can I do that with vc-dir when I can't get a listing of any files at
>> all?
>
> The commands pointed out by Óscar usually make sense on so-called
> "interesting" files -- those you have uncommitted changes for, those
> that were not add to the VC, etc. And vc-dir is documented to show
> only those "interesting" files. In your case, evidently there are
> none.
>
> IOW, before you can meaningfully use vc-dir, you need to do something
> worthy of it ;-) E.g., modify some file.
Ok. So, since my Emacs trunk tree is a mirror of the Savannah trunk and
I only update it, I can't use vc-dir to do this. Moreover, I can't use
it to merge the updated files from the trunk to my quickfixes branch.
But once I have merged them from the command line, I can see them vc-dir
(I just did this and do see them). So now I should be able to commit
the merged files, right? I type `M' to mark all the files, then `v',
then a log buffer pops, I write "Merge from trunk", type `C-c C-c' and
get:
"bzr: ERROR: Selected-file commit of merges is not supported yet: files
ChangeLog, configure, configure.in, lisp/ChangeLog, lisp/play/tetris.el,
lisp/progmodes/ps-mode.el, src/ChangeLog, src/alloc.c, src/font.c,
src/frame.c, src/ralloc.c, src/w32menu.c"
Does that mean I can only commit single files? It doesn't seem worth
using vc-dir for that. I think the manual should document these
limitations.
Steve Berman
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-24 11:56 ` Stephen Berman
@ 2010-07-24 12:21 ` Eli Zaretskii
2010-07-24 16:20 ` Stephen Berman
0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2010-07-24 12:21 UTC (permalink / raw)
To: help-gnu-emacs
> From: Stephen Berman <stephen.berman@gmx.net>
> Date: Sat, 24 Jul 2010 13:56:56 +0200
>
> > IOW, before you can meaningfully use vc-dir, you need to do something
> > worthy of it ;-) E.g., modify some file.
>
> Ok. So, since my Emacs trunk tree is a mirror of the Savannah trunk and
> I only update it, I can't use vc-dir to do this. Moreover, I can't use
> it to merge the updated files from the trunk to my quickfixes branch.
Right. That's what the "merge-news is not implemented part" is about.
> But once I have merged them from the command line, I can see them vc-dir
> (I just did this and do see them). So now I should be able to commit
> the merged files, right?
Yes.
> I type `M' to mark all the files, then `v', then a log buffer pops,
> I write "Merge from trunk", type `C-c C-c' and get:
>
> "bzr: ERROR: Selected-file commit of merges is not supported yet: files
> ChangeLog, configure, configure.in, lisp/ChangeLog, lisp/play/tetris.el,
> lisp/progmodes/ps-mode.el, src/ChangeLog, src/alloc.c, src/font.c,
> src/frame.c, src/ralloc.c, src/w32menu.c"
>
> Does that mean I can only commit single files?
Yes, but more importantly, you can commit _all_ of the pending merges
if you just don't mark any files. That's what you should do most of
the time anyway, this being a changeset-based VCS, right?
> I think the manual should document these limitations.
The manual doesn't like to mention limitations of a temporary nature,
because they are expected to be solved in some future release. The
manual only mentions limitations that cannot be lifted at all or
without a major programming effort.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-23 21:45 ` Stephen Berman
2010-07-24 7:47 ` Eli Zaretskii
@ 2010-07-24 15:32 ` Óscar Fuentes
1 sibling, 0 replies; 10+ messages in thread
From: Óscar Fuentes @ 2010-07-24 15:32 UTC (permalink / raw)
To: help-gnu-emacs; +Cc: Stephen Berman
Stephen Berman <stephen.berman@gmx.net> writes:
> How can I do that with vc-dir when I can't get a listing of any files at
> all? Have you used vc-dir? If so, what do you do?
On addition to what Eli says, it is useful to know that you can execute
VC operations from a Dired buffer. So, for instance, if you want to see
the combined log of files foo and bar on directory zoo, you do
C-x d path/to/zoo
<mark the files foo and bar>
C-x v l
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-24 12:21 ` Eli Zaretskii
@ 2010-07-24 16:20 ` Stephen Berman
2010-07-24 16:52 ` Eli Zaretskii
0 siblings, 1 reply; 10+ messages in thread
From: Stephen Berman @ 2010-07-24 16:20 UTC (permalink / raw)
To: help-gnu-emacs
On Sat, 24 Jul 2010 15:21:49 +0300 Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Stephen Berman <stephen.berman@gmx.net>
>> Date: Sat, 24 Jul 2010 13:56:56 +0200
>>
>> > IOW, before you can meaningfully use vc-dir, you need to do something
>> > worthy of it ;-) E.g., modify some file.
>>
>> Ok. So, since my Emacs trunk tree is a mirror of the Savannah trunk and
>> I only update it, I can't use vc-dir to do this. Moreover, I can't use
>> it to merge the updated files from the trunk to my quickfixes branch.
>
> Right. That's what the "merge-news is not implemented part" is about.
Why "merge-news" instead of simply "merge"? Is there a difference? The
former term sounds strange and is confusing in a UI error message.
>> But once I have merged them from the command line, I can see them vc-dir
>> (I just did this and do see them). So now I should be able to commit
>> the merged files, right?
>
> Yes.
>
>> I type `M' to mark all the files, then `v', then a log buffer pops,
>> I write "Merge from trunk", type `C-c C-c' and get:
>>
>> "bzr: ERROR: Selected-file commit of merges is not supported yet: files
>> ChangeLog, configure, configure.in, lisp/ChangeLog, lisp/play/tetris.el,
>> lisp/progmodes/ps-mode.el, src/ChangeLog, src/alloc.c, src/font.c,
>> src/frame.c, src/ralloc.c, src/w32menu.c"
>>
>> Does that mean I can only commit single files?
>
> Yes, but more importantly, you can commit _all_ of the pending merges
> if you just don't mark any files. That's what you should do most of
> the time anyway, this being a changeset-based VCS, right?
Ah, thanks, I somehow overlooked this in the doc string. That did what
I wanted; but after it executed, I got this message:
"vc-do-command: Running bzr status admin/nt/makedist.bat...FAILED
(status 3)" and the *vc-dir* buffer showed all the files as uncommitted
that it displayed before I had type `v'. But when I refreshed the
buffer, it showed only the directories. And when I tried to commit the
merged files from the command line, it said there were no changes to
commit. So `v' worked in vc-dir despite the error message and the
non-updated display. Should I report a bug about that?
>> I think the manual should document these limitations.
>
> The manual doesn't like to mention limitations of a temporary nature,
> because they are expected to be solved in some future release. The
> manual only mentions limitations that cannot be lifted at all or
> without a major programming effort.
That's reasonable; yet reading that VC supports Bazaar does lead one to
expect full support...
Thanks for the feedback.
Steve Berman
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-24 16:20 ` Stephen Berman
@ 2010-07-24 16:52 ` Eli Zaretskii
2010-07-29 13:33 ` Stephen Berman
0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2010-07-24 16:52 UTC (permalink / raw)
To: help-gnu-emacs
> From: Stephen Berman <stephen.berman@gmx.net>
> Date: Sat, 24 Jul 2010 18:20:02 +0200
>
> Why "merge-news" instead of simply "merge"? Is there a difference?
The "merge-news" method merges recent changes from the current
branch. That is different from "merge".
You can see the list of all methods in the commentary at the beginning
of vc.el.
That said, I agree that the message is confusingly technical,
especially since these methods are not documented in the manual.
Perhaps submit a bug report for that.
> > Yes, but more importantly, you can commit _all_ of the pending merges
> > if you just don't mark any files. That's what you should do most of
> > the time anyway, this being a changeset-based VCS, right?
>
> Ah, thanks, I somehow overlooked this in the doc string. That did what
> I wanted; but after it executed, I got this message:
> "vc-do-command: Running bzr status admin/nt/makedist.bat...FAILED
> (status 3)" and the *vc-dir* buffer showed all the files as uncommitted
> that it displayed before I had type `v'. But when I refreshed the
> buffer, it showed only the directories. And when I tried to commit the
> merged files from the command line, it said there were no changes to
> commit. So `v' worked in vc-dir despite the error message and the
> non-updated display.
The error message was for "bzr status", not for "bzr ci". So the
failed command was not the one which committed the merged files, it
was the "bzr status" command run afterwards to show the results in the
*vc-dir* buffer.
The error message usually means that some other bzr command was
running when "bzr status" was invoked. You should be able to see what
commands where run at what times in your ~/.bzr.log file.
> Should I report a bug about that?
Yes, I think so.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: vc-dir and Bazaar
2010-07-24 16:52 ` Eli Zaretskii
@ 2010-07-29 13:33 ` Stephen Berman
0 siblings, 0 replies; 10+ messages in thread
From: Stephen Berman @ 2010-07-29 13:33 UTC (permalink / raw)
To: help-gnu-emacs
On Sat, 24 Jul 2010 19:52:44 +0300 Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Stephen Berman <stephen.berman@gmx.net>
>> Date: Sat, 24 Jul 2010 18:20:02 +0200
>>
>> Why "merge-news" instead of simply "merge"? Is there a difference?
>
> The "merge-news" method merges recent changes from the current
> branch. That is different from "merge".
>
> You can see the list of all methods in the commentary at the beginning
> of vc.el.
>
> That said, I agree that the message is confusingly technical,
> especially since these methods are not documented in the manual.
> Perhaps submit a bug report for that.
I decided it's not serious enough; after the doc string of vc-update
does use almost the same phrasing ("supports merging news"), even though
it's still somewhat cryptic.
>> > Yes, but more importantly, you can commit _all_ of the pending merges
>> > if you just don't mark any files. That's what you should do most of
>> > the time anyway, this being a changeset-based VCS, right?
>>
>> Ah, thanks, I somehow overlooked this in the doc string. That did what
>> I wanted; but after it executed, I got this message:
>> "vc-do-command: Running bzr status admin/nt/makedist.bat...FAILED
>> (status 3)" and the *vc-dir* buffer showed all the files as uncommitted
>> that it displayed before I had type `v'. But when I refreshed the
>> buffer, it showed only the directories. And when I tried to commit the
>> merged files from the command line, it said there were no changes to
>> commit. So `v' worked in vc-dir despite the error message and the
>> non-updated display.
>
> The error message was for "bzr status", not for "bzr ci". So the
> failed command was not the one which committed the merged files, it
> was the "bzr status" command run afterwards to show the results in the
> *vc-dir* buffer.
>
> The error message usually means that some other bzr command was
> running when "bzr status" was invoked. You should be able to see what
> commands where run at what times in your ~/.bzr.log file.
>
>> Should I report a bug about that?
>
> Yes, I think so.
The file in the error message had been moved to another directory, and
this somehow confused Bzr:
0.437 check paths: [u'admin/nt/makedist.bat']
0.717 Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 853, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 1055, in run_bzr
ret = run(*run_argv)
File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 661, in run_argv_aliases
return self.run_direct(**all_cmd_args)
File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 665, in run_direct
return self._operation.run_simple(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/bzrlib/cleanup.py", line 122, in run_simple
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/bzrlib/cleanup.py", line 156, in _do_with_cleanups
result = func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/bzrlib/commands.py", line 1070, in ignore_pipe
result = func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/bzrlib/builtins.py", line 326, in run
show_pending=(not no_pending), verbose=verbose)
File "/usr/lib/python2.6/site-packages/bzrlib/status.py", line 160, in show_tree_status
raise errors.PathsDoNotExist(nonexistents)
PathsDoNotExist: Path(s) do not exist: admin/nt/makedist.bat
I guess this is a Bazaar problem and not a VC-dir or Emacs problem. It
did not recur on my subsequent update, so I'll just leave it for now.
Steve Berman
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-07-29 13:33 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-23 12:03 vc-dir and Bazaar Stephen Berman
2010-07-23 21:32 ` Óscar Fuentes
2010-07-23 21:45 ` Stephen Berman
2010-07-24 7:47 ` Eli Zaretskii
2010-07-24 11:56 ` Stephen Berman
2010-07-24 12:21 ` Eli Zaretskii
2010-07-24 16:20 ` Stephen Berman
2010-07-24 16:52 ` Eli Zaretskii
2010-07-29 13:33 ` Stephen Berman
2010-07-24 15:32 ` Óscar Fuentes
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).